diff options
Diffstat (limited to '')
| -rw-r--r-- | testing/templates/ranges.txt | 5 | ||||
| -rw-r--r-- | testing/tests/operators.rs | 14 | 
2 files changed, 19 insertions, 0 deletions
diff --git a/testing/templates/ranges.txt b/testing/templates/ranges.txt new file mode 100644 index 0000000..d87ef6a --- /dev/null +++ b/testing/templates/ranges.txt @@ -0,0 +1,5 @@ +{{ foo[..]|join("") }} +{{ foo[0 + 1..]|join("") }} +{% let bar = 1 %} +{{ foo[..bar]|join("") }} +{{ foo[..=bar]|join("") }} diff --git a/testing/tests/operators.rs b/testing/tests/operators.rs index edeb32a..5e23dff 100644 --- a/testing/tests/operators.rs +++ b/testing/tests/operators.rs @@ -40,3 +40,17 @@ fn test_precedence() {      let t = PrecedenceTemplate {};      assert_eq!(t.render().unwrap(), "6".repeat(7));  } + +#[derive(Template)] +#[template(path = "ranges.txt")] +struct RangesTemplate<'a> { +    foo: Vec<&'a str>, +} + +#[test] +fn test_ranges() { +    let t = RangesTemplate { +        foo: vec!["a", "b", "c", "d"], +    }; +    assert_eq!(t.render().unwrap(), "abcd\nbcd\n\na\nab"); +}  | 
