فهرست منبع

Refs #25422 -- Added a test for a template tag with type annotations.

This doesn't work in Django 1.8 but was fixed in Django 1.9 as a
side effect of another change.
Thomas Orozco 9 سال پیش
والد
کامیت
d49667ef26
3فایلهای تغییر یافته به همراه16 افزوده شده و 1 حذف شده
  1. 1 1
      setup.cfg
  2. 8 0
      tests/template_tests/annotated_tag_function.py
  3. 7 0
      tests/template_tests/test_custom.py

+ 1 - 1
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
 

+ 8 - 0
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

+ 7 - 0
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',
+        })