summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/template_tests/templatetags/custom.py10
-rw-r--r--tests/template_tests/test_custom.py6
2 files changed, 16 insertions, 0 deletions
diff --git a/tests/template_tests/templatetags/custom.py b/tests/template_tests/templatetags/custom.py
index 7c40bc9cea..2e2ccf3782 100644
--- a/tests/template_tests/templatetags/custom.py
+++ b/tests/template_tests/templatetags/custom.py
@@ -81,6 +81,16 @@ simple_two_params.anything = "Expected simple_two_params __dict__"
@register.simple_tag
+def simple_keyword_only_param(*, kwarg):
+ return "simple_keyword_only_param - Expected result: %s" % kwarg
+
+
+@register.simple_tag
+def simple_keyword_only_default(*, kwarg=42):
+ return "simple_keyword_only_default - Expected result: %s" % kwarg
+
+
+@register.simple_tag
def simple_one_default(one, two='hi'):
"""Expected simple_one_default __doc__"""
return "simple_one_default - Expected result: %s, %s" % (one, two)
diff --git a/tests/template_tests/test_custom.py b/tests/template_tests/test_custom.py
index 5b788468b5..b37b5f8f1e 100644
--- a/tests/template_tests/test_custom.py
+++ b/tests/template_tests/test_custom.py
@@ -53,6 +53,10 @@ class SimpleTagTests(TagTestCase):
('{% load custom %}{% params_and_context 37 %}',
'params_and_context - Expected result (context value: 42): 37'),
('{% load custom %}{% simple_two_params 37 42 %}', 'simple_two_params - Expected result: 37, 42'),
+ ('{% load custom %}{% simple_keyword_only_param kwarg=37 %}',
+ 'simple_keyword_only_param - Expected result: 37'),
+ ('{% load custom %}{% simple_keyword_only_default %}',
+ 'simple_keyword_only_default - Expected result: 42'),
('{% load custom %}{% simple_one_default 37 %}', 'simple_one_default - Expected result: 37, hi'),
('{% load custom %}{% simple_one_default 37 two="hello" %}',
'simple_one_default - Expected result: 37, hello'),
@@ -86,6 +90,8 @@ class SimpleTagTests(TagTestCase):
'{% load custom %}{% simple_two_params 37 42 56 %}'),
("'simple_one_default' received too many positional arguments",
'{% load custom %}{% simple_one_default 37 42 56 %}'),
+ ("'simple_keyword_only_param' did not receive value(s) for the argument(s): 'kwarg'",
+ '{% load custom %}{% simple_keyword_only_param %}'),
("'simple_unlimited_args_kwargs' received some positional argument(s) after some keyword argument(s)",
'{% load custom %}{% simple_unlimited_args_kwargs 37 40|add:2 eggs="scrambled" 56 four=1|add:3 %}'),
("'simple_unlimited_args_kwargs' received multiple values for keyword argument 'eggs'",