diff --git a/setup.cfg b/setup.cfg index a0b89d02e50..9ba33169ae7 100644 --- a/setup.cfg +++ b/setup.cfg @@ -3,7 +3,7 @@ doc_files = docs extras AUTHORS INSTALL LICENSE README.rst install-script = scripts/rpm-install.sh [flake8] -exclude = build,.git,./django/utils/lru_cache.py,./django/utils/six.py,./django/conf/app_template/*,./django/dispatch/weakref_backports.py,./tests/.env,./xmlrunner,tests/view_tests/tests/py3_test_debug.py +exclude = build,.git,./django/utils/lru_cache.py,./django/utils/six.py,./django/conf/app_template/*,./django/dispatch/weakref_backports.py,./tests/.env,./xmlrunner,tests/view_tests/tests/py3_test_debug.py,tests/template_tests/annotated_tag_function.py ignore = E123,E128,E402,W503,E731,W601 max-line-length = 119 diff --git a/tests/template_tests/annotated_tag_function.py b/tests/template_tests/annotated_tag_function.py new file mode 100644 index 00000000000..bd3017c27c7 --- /dev/null +++ b/tests/template_tests/annotated_tag_function.py @@ -0,0 +1,8 @@ +from django import template + +register = template.Library() + + +@register.simple_tag() +def annotated_tag_function(val: int): + return val diff --git a/tests/template_tests/test_custom.py b/tests/template_tests/test_custom.py index 1b639538606..48252e17885 100644 --- a/tests/template_tests/test_custom.py +++ b/tests/template_tests/test_custom.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals import os +from unittest import skipUnless from django.template import Context, Engine, TemplateSyntaxError from django.template.base import Node @@ -380,3 +381,9 @@ class TemplateTagLoadingTests(SimpleTestCase): 'working_egg': 'tagsegg.templatetags.working_egg', }) engine.from_string(ttext) + + @skipUnless(six.PY3, "Python 3 only -- Python 2 doesn't have annotations.") + def test_load_annotated_function(self): + Engine(libraries={ + 'annotated_tag_function': 'template_tests.annotated_tag_function', + })