use nargo_template::*;
use serde_json::json;
#[test]
fn test_handlebars_renderer() {
let mut renderer = HandlebarsRenderer::new();
renderer.register_template("greeting", "Hello, {{name}}!").unwrap();
let context = json!({"name": "World"});
let result = renderer.render("greeting", &context).unwrap();
assert_eq!(result, "Hello, World!");
}
#[test]
fn test_template_manager() {
let mut manager = TemplateManager::new();
manager.register_template(TemplateEngine::Handlebars, "test", "Test: {{value}}").unwrap();
let context = json!({"value": "Hello"});
let result = manager.render(TemplateEngine::Handlebars, "test", &context).unwrap();
assert_eq!(result, "Test: Hello");
}
#[test]
fn test_to_json_value() {
let s = "test".to_string();
assert_eq!(s.to_json_value(), serde_json::Value::String("test".to_string()));
let i = 42;
assert_eq!(i.to_json_value(), serde_json::Value::Number(serde_json::Number::from(42)));
let b = true;
assert_eq!(b.to_json_value(), serde_json::Value::Bool(true));
}
#[test]
fn test_jinja2_renderer() {
let mut renderer = Jinja2Renderer::new();
renderer.register_template("greeting", "Hello, {{ name }}!").unwrap();
let context = json!({"name": "World"});
let result = renderer.render("greeting", &context).unwrap();
assert_eq!(result, "Hello, World!");
}
#[test]
fn test_template_manager_jinja2() {
let mut manager = TemplateManager::new();
manager.register_template(TemplateEngine::Jinja2, "test", "Test: {{ value }}").unwrap();
let context = json!({"value": "Hello"});
let result = manager.render(TemplateEngine::Jinja2, "test", &context).unwrap();
assert_eq!(result, "Test: Hello");
}