diff options
| author | Alexander Allakhverdiyev <alex.allah@gmail.com> | 2017-05-11 07:09:44 -0700 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-05-11 10:09:44 -0400 |
| commit | a7c6c705e82bfb9f061f35d38c2a6184dae52cd4 (patch) | |
| tree | f97076bf7e08ef7cb05ebf323a7014e06ff05338 /tests | |
| parent | f87256b15e375c6c57fe425c33ae23e116da3e84 (diff) | |
Fixed #28129 -- Allowed custom template tags to use keyword-only arguments.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/template_tests/templatetags/custom.py | 10 | ||||
| -rw-r--r-- | tests/template_tests/test_custom.py | 6 |
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'", |
