]> git.proxmox.com Git - rustc.git/blob - vendor/handlebars/tests/escape.rs
New upstream version 1.56.0~beta.4+dfsg1
[rustc.git] / vendor / handlebars / tests / escape.rs
1 extern crate handlebars;
2
3 #[macro_use]
4 extern crate serde_json;
5
6 use handlebars::{handlebars_helper, Handlebars};
7
8 #[test]
9 fn test_escape_216() {
10 let hbs = Handlebars::new();
11
12 let data = json!({
13 "FOO": "foo",
14 "BAR": "bar"
15 });
16
17 assert_eq!(
18 hbs.render_template(r"\\\\ {{FOO}} {{BAR}} {{FOO}}{{BAR}} {{FOO}}#{{BAR}} {{FOO}}//{{BAR}} {{FOO}}\\{{FOO}} {{FOO}}\\\\{{FOO}}\\\{{FOO}} \\\{{FOO}} \{{FOO}} \{{FOO}}", &data).unwrap(),
19 r"\\\\ foo bar foobar foo#bar foo//bar foo\foo foo\\\foo\\foo \\foo {{FOO}} {{FOO}}"
20 );
21 }
22
23 #[test]
24 fn test_string_no_escape_422() {
25 let mut hbs = Handlebars::new();
26
27 handlebars_helper!(replace: |input: str, from: str, to: str| {
28 input.replace(from, to)
29 });
30 hbs.register_helper("replace", Box::new(replace));
31
32 assert_eq!(
33 r#"some\ path"#,
34 hbs.render_template(r#"{{replace "some/path" "/" "\\ " }}"#, &())
35 .unwrap()
36 );
37
38 assert_eq!(
39 r#"some\path"#,
40 hbs.render_template(r#"{{replace "some/path" "/" "\\" }}"#, &())
41 .unwrap()
42 );
43 }