mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-17 18:24:04 +00:00
56 lines
1.3 KiB
Rust
56 lines
1.3 KiB
Rust
extern crate handlebars;
|
|
#[macro_use]
|
|
extern crate serde_json;
|
|
|
|
use handlebars::Handlebars;
|
|
|
|
#[test]
|
|
fn test_subexpression() {
|
|
let hbs = Handlebars::new();
|
|
|
|
let data = json!({"a": 1, "b": 0, "c": 2});
|
|
|
|
assert_eq!(
|
|
hbs.render_template("{{#if (gt a b)}}Success{{else}}Failed{{/if}}", &data)
|
|
.unwrap(),
|
|
"Success"
|
|
);
|
|
|
|
assert_eq!(
|
|
hbs.render_template("{{#if (gt a c)}}Success{{else}}Failed{{/if}}", &data)
|
|
.unwrap(),
|
|
"Failed"
|
|
);
|
|
|
|
assert_eq!(
|
|
hbs.render_template("{{#if (not (gt a c))}}Success{{else}}Failed{{/if}}", &data)
|
|
.unwrap(),
|
|
"Success"
|
|
);
|
|
|
|
assert_eq!(
|
|
hbs.render_template("{{#if (not (gt a b))}}Success{{else}}Failed{{/if}}", &data)
|
|
.unwrap(),
|
|
"Failed"
|
|
);
|
|
|
|
// no argument provided for not
|
|
assert_eq!(
|
|
hbs.render_template("{{#if (not)}}Success{{else}}Failed{{/if}}", &data)
|
|
.unwrap(),
|
|
"Failed"
|
|
);
|
|
|
|
// json literal
|
|
assert_eq!(
|
|
hbs.render_template("{{#if (not true)}}Success{{else}}Failed{{/if}}", &data)
|
|
.unwrap(),
|
|
"Failed"
|
|
);
|
|
assert_eq!(
|
|
hbs.render_template("{{#if (not false)}}Success{{else}}Failed{{/if}}", &data)
|
|
.unwrap(),
|
|
"Success"
|
|
);
|
|
}
|