doido-view 0.0.5

Default Tera engine, layouts, partials — Action View style templating for Doido.
Documentation
use doido_view::engine::TemplateEngine;
use serde_json::json;

struct FakeEngine;
impl TemplateEngine for FakeEngine {
    fn render(&self, template: &str, _ctx: &serde_json::Value) -> doido_core::Result<String> {
        Ok(format!("rendered:{template}"))
    }
    fn reload(&self) -> doido_core::Result<()> {
        Ok(())
    }
}

#[test]
fn test_engine_trait_is_object_safe() {
    let engine: &dyn TemplateEngine = &FakeEngine;
    let result = engine.render("posts/index", &json!({})).unwrap();
    assert_eq!(result, "rendered:posts/index");
}