diff options
Diffstat (limited to 'vendor/handlebars-3.5.5/tests/helper_with_space.rs')
-rw-r--r-- | vendor/handlebars-3.5.5/tests/helper_with_space.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/handlebars-3.5.5/tests/helper_with_space.rs b/vendor/handlebars-3.5.5/tests/helper_with_space.rs new file mode 100644 index 000000000..5a55ab122 --- /dev/null +++ b/vendor/handlebars-3.5.5/tests/helper_with_space.rs @@ -0,0 +1,36 @@ +use handlebars::*; +use serde_json::json; + +fn dump<'reg, 'rc>( + h: &Helper<'reg, 'rc>, + _: &'reg Handlebars, + _: &Context, + _: &mut RenderContext, + out: &mut dyn Output, +) -> Result<(), RenderError> { + assert_eq!(2, h.params().len()); + + let result = h + .params() + .iter() + .map(|p| p.value().render()) + .collect::<Vec<String>>() + .join(", "); + out.write(&result)?; + + Ok(()) +} + +#[test] +fn test_helper_with_space_param() { + let mut r = Handlebars::new(); + r.register_helper("echo", Box::new(dump)); + + let s = r + .render_template( + "Output: {{echo \"Mozilla Firefox\" \"Google Chrome\"}}", + &json!({}), + ) + .unwrap(); + assert_eq!(s, "Output: Mozilla Firefox, Google Chrome".to_owned()); +} |