aboutsummaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
authorLibravatar Christian Vallentin <vallentinsource@gmail.com>2020-12-01 09:25:36 +0100
committerLibravatar GitHub <noreply@github.com>2020-12-01 09:25:36 +0100
commitf4065b09b91f5d00efa5644915cdd83bfb7d393a (patch)
tree8197d60f39068af657ce827120ea35ac467c7b0a /testing
parent8603298dc8c8c80d95199e1f42ec6951264322f1 (diff)
downloadaskama-f4065b09b91f5d00efa5644915cdd83bfb7d393a.tar.gz
askama-f4065b09b91f5d00efa5644915cdd83bfb7d393a.tar.bz2
askama-f4065b09b91f5d00efa5644915cdd83bfb7d393a.zip
Fixed implicit borrow of expressions (#390)
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");
+}