blob: 9198db613177ea5508e3ce3949fc7c31fa2b33f6 [file] [log] [blame]
#[macro_use]
extern crate handlebars;
#[macro_use]
extern crate serde_json;
use handlebars::Handlebars;
handlebars_helper!(lower: |s: str| s.to_lowercase());
handlebars_helper!(upper: |s: str| s.to_uppercase());
handlebars_helper!(hex: |v: i64| format!("0x{:x}", v));
#[test]
fn test_macro_helper() {
let mut hbs = Handlebars::new();
hbs.register_helper("lower", Box::new(lower));
hbs.register_helper("upper", Box::new(upper));
hbs.register_helper("hex", Box::new(hex));
let data = json!("Teixeira");
assert_eq!(
hbs.render_template("{{lower this}}", &data).unwrap(),
"teixeira"
);
assert_eq!(
hbs.render_template("{{upper this}}", &data).unwrap(),
"TEIXEIRA"
);
assert_eq!(hbs.render_template("{{hex 16}}", &()).unwrap(), "0x10");
}