From cc51d201ab9e7ba958363d1f74b7bfd4dd12fecf Mon Sep 17 00:00:00 2001 From: Anthony Nowell Date: Thu, 5 Oct 2017 02:47:36 -0600 Subject: support literals in match arms --- testing/tests/matches.rs | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'testing/tests') diff --git a/testing/tests/matches.rs b/testing/tests/matches.rs index 4a55615..4f159ab 100644 --- a/testing/tests/matches.rs +++ b/testing/tests/matches.rs @@ -4,15 +4,35 @@ extern crate askama; use askama::Template; #[derive(Template)] -#[template(path = "match.html")] -struct MatchTemplate<'a> { +#[template(path = "match-opt.html")] +struct MatchOptTemplate<'a> { item: Option<&'a str>, } #[test] fn test_match_option() { - let s = MatchTemplate { - item: Some("foo"), - }; - assert_eq!(s.render().unwrap(), "\n\nFound foo\n"); + let s = MatchOptTemplate { item: Some("foo") }; + assert_eq!(s.render().unwrap(), "\n\nFound literal foo\n"); + + let s = MatchOptTemplate { item: Some("bar") }; + assert_eq!(s.render().unwrap(), "\n\nFound bar\n"); + + let s = MatchOptTemplate { item: None }; + assert_eq!(s.render().unwrap(), "\n\nNot Found\n"); +} + + +#[derive(Template)] +#[template(path = "match-literal.html")] +struct MatchLitTemplate<'a> { + item: &'a str, +} + +#[test] +fn test_match_literal() { + let s = MatchLitTemplate { item: "bar" }; + assert_eq!(s.render().unwrap(), "\n\nFound literal bar\n"); + + let s = MatchLitTemplate { item: "qux" }; + assert_eq!(s.render().unwrap(), "\n\nElse found qux\n"); } -- cgit