mirror of
https://github.com/django/django.git
synced 2024-12-22 17:16:24 +00:00
Refs #22306 -- Removed cycle/firstof template tags from "future".
Per deprecation timeline.
This commit is contained in:
parent
c64dd646f5
commit
57039f9661
@ -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 "<strong>fallback value</strong>" %}
|
||||
{% autoescape %}
|
||||
|
||||
Or if only some variables should be escaped, you can use::
|
||||
|
||||
{% firstof var1 var2|safe var3 "<strong>fallback value</strong>"|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)
|
@ -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, '<>')
|
||||
|
@ -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, '<')
|
||||
|
Loading…
Reference in New Issue
Block a user