aboutsummaryrefslogtreecommitdiffstats
path: root/testing/tests/matches.rs
diff options
context:
space:
mode:
Diffstat (limited to 'testing/tests/matches.rs')
-rw-r--r--testing/tests/matches.rs24
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");
+}