From 57039f9661d2fc06618bba1ed60d005212ee26e3 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Mon, 17 Aug 2015 08:57:38 -0400 Subject: [PATCH] Refs #22306 -- Removed cycle/firstof template tags from "future". Per deprecation timeline. --- django/templatetags/future.py | 66 ------------------- .../template_tests/syntax_tests/test_cycle.py | 11 +--- .../syntax_tests/test_firstof.py | 17 ++--- 3 files changed, 8 insertions(+), 86 deletions(-) delete mode 100644 django/templatetags/future.py diff --git a/django/templatetags/future.py b/django/templatetags/future.py deleted file mode 100644 index ccc79b970d..0000000000 --- a/django/templatetags/future.py +++ /dev/null @@ -1,66 +0,0 @@ -import warnings - -from django.template import Library, defaulttags -from django.utils.deprecation import RemovedInDjango110Warning - -register = Library() - - -@register.tag -def cycle(parser, token): - """ - This is the future version of `cycle` with auto-escaping. - The deprecation is now complete and this version is no different - from the non-future version so this is deprecated. - - By default all strings are escaped. - - If you want to disable auto-escaping of variables you can use:: - - {% autoescape off %} - {% cycle var1 var2 var3 as somecycle %} - {% autoescape %} - - Or if only some variables should be escaped, you can use:: - - {% cycle var1 var2|safe var3|safe as somecycle %} - """ - warnings.warn( - "Loading the `cycle` tag from the `future` library is deprecated and " - "will be removed in Django 1.10. Use the default `cycle` tag instead.", - RemovedInDjango110Warning) - return defaulttags.cycle(parser, token) - - -@register.tag -def firstof(parser, token): - """ - This is the future version of `firstof` with auto-escaping. - The deprecation is now complete and this version is no different - from the non-future version so this is deprecated. - - This is equivalent to:: - - {% if var1 %} - {{ var1 }} - {% elif var2 %} - {{ var2 }} - {% elif var3 %} - {{ var3 }} - {% endif %} - - If you want to disable auto-escaping of variables you can use:: - - {% autoescape off %} - {% firstof var1 var2 var3 "fallback value" %} - {% autoescape %} - - Or if only some variables should be escaped, you can use:: - - {% firstof var1 var2|safe var3 "fallback value"|safe %} - """ - warnings.warn( - "Loading the `firstof` tag from the `future` library is deprecated and " - "will be removed in Django 1.10. Use the default `firstof` tag instead.", - RemovedInDjango110Warning) - return defaulttags.firstof(parser, token) diff --git a/tests/template_tests/syntax_tests/test_cycle.py b/tests/template_tests/syntax_tests/test_cycle.py index 7e9f7c3c8d..9b2c8abe10 100644 --- a/tests/template_tests/syntax_tests/test_cycle.py +++ b/tests/template_tests/syntax_tests/test_cycle.py @@ -6,7 +6,6 @@ from ..utils import setup class CycleTagTests(SimpleTestCase): - libraries = {'future': 'django.templatetags.future'} @setup({'cycle01': '{% cycle a %}'}) def test_cycle01(self): @@ -146,21 +145,17 @@ class CycleTagTests(SimpleTestCase): output = self.engine.render_to_string('cycle25', {'a': '<'}) self.assertEqual(output, '<') - @ignore_warnings(category=RemovedInDjango110Warning) - @setup({'cycle26': '{% load cycle from future %}{% cycle a b as ab %}{% cycle ab %}'}) + @setup({'cycle26': '{% cycle a b as ab %}{% cycle ab %}'}) def test_cycle26(self): output = self.engine.render_to_string('cycle26', {'a': '<', 'b': '>'}) self.assertEqual(output, '<>') - @ignore_warnings(category=RemovedInDjango110Warning) - @setup({'cycle27': '{% load cycle from future %}' - '{% autoescape off %}{% cycle a b as ab %}{% cycle ab %}{% endautoescape %}'}) + @setup({'cycle27': '{% autoescape off %}{% cycle a b as ab %}{% cycle ab %}{% endautoescape %}'}) def test_cycle27(self): output = self.engine.render_to_string('cycle27', {'a': '<', 'b': '>'}) self.assertEqual(output, '<>') - @ignore_warnings(category=RemovedInDjango110Warning) - @setup({'cycle28': '{% load cycle from future %}{% cycle a|safe b as ab %}{% cycle ab %}'}) + @setup({'cycle28': '{% cycle a|safe b as ab %}{% cycle ab %}'}) def test_cycle28(self): output = self.engine.render_to_string('cycle28', {'a': '<', 'b': '>'}) self.assertEqual(output, '<>') diff --git a/tests/template_tests/syntax_tests/test_firstof.py b/tests/template_tests/syntax_tests/test_firstof.py index c25a1854c3..1f382a6db3 100644 --- a/tests/template_tests/syntax_tests/test_firstof.py +++ b/tests/template_tests/syntax_tests/test_firstof.py @@ -1,12 +1,10 @@ from django.template import TemplateSyntaxError -from django.test import SimpleTestCase, ignore_warnings -from django.utils.deprecation import RemovedInDjango110Warning +from django.test import SimpleTestCase from ..utils import setup class FirstOfTagTests(SimpleTestCase): - libraries = {'future': 'django.templatetags.future'} @setup({'firstof01': '{% firstof a b c %}'}) def test_firstof01(self): @@ -58,27 +56,22 @@ class FirstOfTagTests(SimpleTestCase): output = self.engine.render_to_string('firstof10', {'a': '<'}) self.assertEqual(output, '<') - @ignore_warnings(category=RemovedInDjango110Warning) - @setup({'firstof11': '{% load firstof from future %}{% firstof a b %}'}) + @setup({'firstof11': '{% firstof a b %}'}) def test_firstof11(self): output = self.engine.render_to_string('firstof11', {'a': '<', 'b': '>'}) self.assertEqual(output, '<') - @ignore_warnings(category=RemovedInDjango110Warning) - @setup({'firstof12': '{% load firstof from future %}{% firstof a b %}'}) + @setup({'firstof12': '{% firstof a b %}'}) def test_firstof12(self): output = self.engine.render_to_string('firstof12', {'a': '', 'b': '>'}) self.assertEqual(output, '>') - @ignore_warnings(category=RemovedInDjango110Warning) - @setup({'firstof13': '{% load firstof from future %}' - '{% autoescape off %}{% firstof a %}{% endautoescape %}'}) + @setup({'firstof13': '{% autoescape off %}{% firstof a %}{% endautoescape %}'}) def test_firstof13(self): output = self.engine.render_to_string('firstof13', {'a': '<'}) self.assertEqual(output, '<') - @ignore_warnings(category=RemovedInDjango110Warning) - @setup({'firstof14': '{% load firstof from future %}{% firstof a|safe b %}'}) + @setup({'firstof14': '{% firstof a|safe b %}'}) def test_firstof14(self): output = self.engine.render_to_string('firstof14', {'a': '<'}) self.assertEqual(output, '<')