diff options
author | yossyJ <28825627+yossyJ@users.noreply.github.com> | 2019-01-04 23:12:44 +0900 |
---|---|---|
committer | Dirkjan Ochtman <dirkjan@ochtman.nl> | 2019-01-04 16:58:09 +0100 |
commit | bef88f1696b828caf72695561c2270456f35894d (patch) | |
tree | fb83e8f9fe1b05a49c18c43adef96a366dc18f6e /testing | |
parent | 39e08325c0e0fba75384579427d1c6f7eca8fbc9 (diff) | |
download | askama-bef88f1696b828caf72695561c2270456f35894d.tar.gz askama-bef88f1696b828caf72695561c2270456f35894d.tar.bz2 askama-bef88f1696b828caf72695561c2270456f35894d.zip |
Add support for tuple
Diffstat (limited to '')
-rw-r--r-- | testing/templates/for.html | 3 | ||||
-rw-r--r-- | testing/templates/let.html | 1 | ||||
-rw-r--r-- | testing/tests/loops.rs | 7 | ||||
-rw-r--r-- | testing/tests/vars.rs | 16 |
4 files changed, 26 insertions, 1 deletions
diff --git a/testing/templates/for.html b/testing/templates/for.html index 8b4032d..f749752 100644 --- a/testing/templates/for.html +++ b/testing/templates/for.html @@ -1,3 +1,6 @@ {% for s in strings %} {{- loop.index0 }}. {{ s }}{% if loop.first %} (first){% endif %} {% endfor %} +{% for (s1, s2) in tuple_strings %} + {{- loop.index0 }}. {{ s1 }},{{ s2 }}{% if loop.first %} (first){% endif %} +{% endfor %} diff --git a/testing/templates/let.html b/testing/templates/let.html index 5b19255..034e8d4 100644 --- a/testing/templates/let.html +++ b/testing/templates/let.html @@ -1 +1,2 @@ {% let v = s %}{{ v }} +{% let (v1,v2) = t %}{{ v1 }}{{ v2 }}
\ No newline at end of file diff --git a/testing/tests/loops.rs b/testing/tests/loops.rs index 3dfad38..b5fac7c 100644 --- a/testing/tests/loops.rs +++ b/testing/tests/loops.rs @@ -4,14 +4,19 @@ use askama::Template; #[template(path = "for.html")] struct ForTemplate<'a> { strings: Vec<&'a str>, + tuple_strings: Vec<(&'a str, &'a str)>, } #[test] fn test_for() { let s = ForTemplate { strings: vec!["A", "alfa", "1"], + tuple_strings: vec![("B", "beta")], }; - assert_eq!(s.render().unwrap(), "0. A (first)\n1. alfa\n2. 1\n"); + assert_eq!( + s.render().unwrap(), + "0. A (first)\n1. alfa\n2. 1\n\n0. B,beta (first)\n" + ); } #[derive(Template)] diff --git a/testing/tests/vars.rs b/testing/tests/vars.rs index 87af3f6..04f9ff2 100644 --- a/testing/tests/vars.rs +++ b/testing/tests/vars.rs @@ -13,6 +13,22 @@ fn test_let() { } #[derive(Template)] +#[template(path = "let.html")] +struct LetTupleTemplate<'a> { + s: &'a str, + t: (&'a str, &'a str), +} + +#[test] +fn test_let_tuple() { + let t = LetTupleTemplate { + s: "foo", + t: ("bar", "bazz"), + }; + assert_eq!(t.render().unwrap(), "foo\nbarbazz"); +} + +#[derive(Template)] #[template(path = "let-decl.html")] struct LetDeclTemplate<'a> { cond: bool, |