From 49252d2457f280026c020d0df46733578eb959a5 Mon Sep 17 00:00:00 2001 From: Ryan Kelly Date: Mon, 21 Jun 2021 16:35:57 +1000 Subject: Fix code generation for macro calls that store args in variables. --- testing/templates/nested-macro-args.html | 9 +++++++++ testing/tests/macro.rs | 10 ++++++++++ 2 files changed, 19 insertions(+) create mode 100644 testing/templates/nested-macro-args.html (limited to 'testing') diff --git a/testing/templates/nested-macro-args.html b/testing/templates/nested-macro-args.html new file mode 100644 index 0000000..03826f8 --- /dev/null +++ b/testing/templates/nested-macro-args.html @@ -0,0 +1,9 @@ +{%- macro outer(first) -%} +{%- call inner(first, "second") -%} +{%- endmacro -%} + +{%- macro inner(first, second) -%} +{{ first }} {{ second }} +{%- endmacro -%} + +{%- call outer("first") -%} diff --git a/testing/tests/macro.rs b/testing/tests/macro.rs index 459b1e2..7f7e4dc 100644 --- a/testing/tests/macro.rs +++ b/testing/tests/macro.rs @@ -53,3 +53,13 @@ fn test_short_circuit() { let t = ShortCircuitTemplate {}; assert_eq!(t.render().unwrap(), "truetruetruefalsetruetrue"); } + +#[derive(Template)] +#[template(path = "nested-macro-args.html")] +struct NestedMacroArgsTemplate {} + +#[test] +fn test_nested_macro_with_args() { + let t = NestedMacroArgsTemplate {}; + assert_eq!(t.render().unwrap(), "first second"); +} -- cgit