aboutsummaryrefslogtreecommitdiffstats
path: root/testing/tests/ui/macro_named_argument.rs
diff options
context:
space:
mode:
authorLibravatar Guillaume Gomez <guillaume1.gomez@gmail.com>2023-11-17 14:40:12 +0100
committerLibravatar Dirkjan Ochtman <dirkjan@ochtman.nl>2023-11-28 11:36:09 +0100
commit28e26751cef5ca5e3b0a0e6e8c8aadff92dc615b (patch)
tree3a7adf6392bf95cc849095974d669171576e95d5 /testing/tests/ui/macro_named_argument.rs
parentb3020ee8bf979037e4191558ee7f1131b5c82de7 (diff)
downloadaskama-28e26751cef5ca5e3b0a0e6e8c8aadff92dc615b.tar.gz
askama-28e26751cef5ca5e3b0a0e6e8c8aadff92dc615b.tar.bz2
askama-28e26751cef5ca5e3b0a0e6e8c8aadff92dc615b.zip
Add tests for named arguments in macro calls
Diffstat (limited to '')
-rw-r--r--testing/tests/ui/macro_named_argument.rs45
1 files changed, 45 insertions, 0 deletions
diff --git a/testing/tests/ui/macro_named_argument.rs b/testing/tests/ui/macro_named_argument.rs
new file mode 100644
index 0000000..fe8a194
--- /dev/null
+++ b/testing/tests/ui/macro_named_argument.rs
@@ -0,0 +1,45 @@
+use askama::Template;
+
+#[derive(Template)]
+#[template(source = "{%- macro thrice(param1, param2) -%}
+{{ param1 }} {{ param2 }}
+{%- endmacro -%}
+
+{%- call thrice(param1=2, param3=3) -%}", ext = "html")]
+struct InvalidNamedArg;
+
+#[derive(Template)]
+#[template(source = "{%- macro thrice(param1, param2) -%}
+{{ param1 }} {{ param2 }}
+{%- endmacro -%}
+
+{%- call thrice(param1=2, param1=3) -%}", ext = "html")]
+struct InvalidNamedArg2;
+
+// Ensures that filters can't have named arguments.
+#[derive(Template)]
+#[template(source = "{%- macro thrice(param1, param2) -%}
+{{ param1 }} {{ param2 }}
+{%- endmacro -%}
+
+{%- call thrice(3, param1=2) | filter(param1=12) -%}", ext = "html")]
+struct InvalidNamedArg3;
+
+// Ensures that named arguments can only be passed last.
+#[derive(Template)]
+#[template(source = "{%- macro thrice(param1, param2) -%}
+{{ param1 }} {{ param2 }}
+{%- endmacro -%}
+{%- call thrice(param1=2, 3) -%}", ext = "html")]
+struct InvalidNamedArg4;
+
+// Ensures that named arguments can't be used for arguments before them.
+#[derive(Template)]
+#[template(source = "{%- macro thrice(param1, param2) -%}
+{{ param1 }} {{ param2 }}
+{%- endmacro -%}
+{%- call thrice(3, param1=2) -%}", ext = "html")]
+struct InvalidNamedArg5;
+
+fn main() {
+}