aboutsummaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--testing/templates/macro-short-circuit.html9
-rw-r--r--testing/tests/macro.rs10
-rw-r--r--testing/tests/operators.rs10
3 files changed, 29 insertions, 0 deletions
diff --git a/testing/templates/macro-short-circuit.html b/testing/templates/macro-short-circuit.html
new file mode 100644
index 0000000..4a19b86
--- /dev/null
+++ b/testing/templates/macro-short-circuit.html
@@ -0,0 +1,9 @@
+{% macro foo(b) -%}
+ {{ b }}
+{%- endmacro -%}
+{% call foo(true) -%}
+{% call foo(true && true) -%}
+{% call foo(true && true && true) -%}
+{% call foo(false) -%}
+{% call foo(false || true) -%}
+{% call foo(false || false || true) -%}
diff --git a/testing/tests/macro.rs b/testing/tests/macro.rs
index 51fbcdc..459b1e2 100644
--- a/testing/tests/macro.rs
+++ b/testing/tests/macro.rs
@@ -43,3 +43,13 @@ fn test_deep_import() {
let t = DeepImportTemplate;
assert_eq!(t.render().unwrap(), "foo");
}
+
+#[derive(Template)]
+#[template(path = "macro-short-circuit.html")]
+struct ShortCircuitTemplate {}
+
+#[test]
+fn test_short_circuit() {
+ let t = ShortCircuitTemplate {};
+ assert_eq!(t.render().unwrap(), "truetruetruefalsetruetrue");
+}
diff --git a/testing/tests/operators.rs b/testing/tests/operators.rs
index 99a2a4c..05c1dab 100644
--- a/testing/tests/operators.rs
+++ b/testing/tests/operators.rs
@@ -53,3 +53,13 @@ fn test_ranges() {
};
assert_eq!(t.render().unwrap(), "abcd\nbcd\n\na\nab");
}
+
+#[derive(Template)]
+#[template(source = "{{ true && true }}{{ false || true }}", ext = "txt")]
+struct ShortCircuitTemplate {}
+
+#[test]
+fn test_short_circuit() {
+ let t = ShortCircuitTemplate {};
+ assert_eq!(t.render().unwrap(), "truetrue");
+}