From 6d1cf5e43dbf5d26506585db1f801064051f49a4 Mon Sep 17 00:00:00 2001
From: René Kijewski <kijewski@library.vetmed.fu-berlin.de>
Date: Fri, 30 Jul 2021 17:36:29 +0200
Subject: Issue #379 was fixed

This PR adds the tests by @msrd0 <git@msrd0.de> that failed before.
The error was fixed somewhen between f23162a and now, so these tests
serve to prevent regressions in the future.

I simplified the tests very slightly to omit whitespaces in the output.
---
 testing/templates/macro-import-str-cmp-macro.html | 13 +++++++++++++
 testing/templates/macro-import-str-cmp.html       | 15 +++++++++++++++
 testing/tests/macro.rs                            | 10 ++++++++++
 3 files changed, 38 insertions(+)
 create mode 100644 testing/templates/macro-import-str-cmp-macro.html
 create mode 100644 testing/templates/macro-import-str-cmp.html

(limited to 'testing')

diff --git a/testing/templates/macro-import-str-cmp-macro.html b/testing/templates/macro-import-str-cmp-macro.html
new file mode 100644
index 0000000..a951f93
--- /dev/null
+++ b/testing/templates/macro-import-str-cmp-macro.html
@@ -0,0 +1,13 @@
+{% macro strcmp0(s, other) -%}
+    {%- if s == "foo" -%}
+        foo
+    {%- else if s == other -%}
+        other
+    {%- else -%}
+        neither
+    {%- endif -%}
+{% endmacro %}
+
+{% macro strcmp(s) %}
+    {%- call strcmp0(s, "bar") -%}
+{% endmacro %}
diff --git a/testing/templates/macro-import-str-cmp.html b/testing/templates/macro-import-str-cmp.html
new file mode 100644
index 0000000..648a0cf
--- /dev/null
+++ b/testing/templates/macro-import-str-cmp.html
@@ -0,0 +1,15 @@
+{%- import "macro-import-str-cmp-macro.html" as macros -%}
+
+A
+
+{%- call macros::strcmp("foo") -%}
+
+B
+
+{%- call macros::strcmp("bar") -%}
+
+C
+
+{%- call macros::strcmp("cat") -%}
+
+D
diff --git a/testing/tests/macro.rs b/testing/tests/macro.rs
index 7f7e4dc..e449dd5 100644
--- a/testing/tests/macro.rs
+++ b/testing/tests/macro.rs
@@ -63,3 +63,13 @@ fn test_nested_macro_with_args() {
     let t = NestedMacroArgsTemplate {};
     assert_eq!(t.render().unwrap(), "first second");
 }
+
+#[derive(Template)]
+#[template(path = "macro-import-str-cmp.html")]
+struct StrCmpTemplate;
+
+#[test]
+fn str_cmp() {
+    let t = StrCmpTemplate;
+    assert_eq!(t.render().unwrap(), "AfooBotherCneitherD");
+}
-- 
cgit