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::>() .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()); }