diff options
Diffstat (limited to 'testing/tests/matches.rs')
-rw-r--r-- | testing/tests/matches.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/testing/tests/matches.rs b/testing/tests/matches.rs index 380a69c..c328e39 100644 --- a/testing/tests/matches.rs +++ b/testing/tests/matches.rs @@ -130,3 +130,27 @@ fn test_match_without_with_keyword() { let s = MatchWithoutWithKeyword { foo: None }; assert_eq!(s.render().unwrap(), ""); } + +#[derive(Template)] +#[template(path = "match-option-result-option.html")] +struct MatchOptionResultOption { + foo: Option<Result<Option<usize>, &'static str>>, +} + +#[test] +fn test_match_option_result_option() { + let s = MatchOptionResultOption { foo: None }; + assert_eq!(s.render().unwrap(), "nothing"); + let s = MatchOptionResultOption { + foo: Some(Err("fail")), + }; + assert_eq!(s.render().unwrap(), "err=fail"); + let s = MatchOptionResultOption { + foo: Some(Ok(None)), + }; + assert_eq!(s.render().unwrap(), "num=absent"); + let s = MatchOptionResultOption { + foo: Some(Ok(Some(4711))), + }; + assert_eq!(s.render().unwrap(), "num=4711"); +} |