Commit 50803119 authored by Baptiste Mispelon's avatar Baptiste Mispelon Committed by Florian Apolloner
Browse files

Fixed #20130 -- Regression in {% cache %} template tag.

parent 465b01f0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -59,5 +59,5 @@ def do_cache(parser, token):
        raise TemplateSyntaxError("'%r' tag requires at least 2 arguments." % tokens[0])
    return CacheNode(nodelist,
        parser.compile_filter(tokens[1]),
        parser.compile_filter(tokens[2]),
        tokens[2], # fragment_name can't be a variable.
        [parser.compile_filter(token) for token in tokens[3:]])
+5 −0
Original line number Diff line number Diff line
@@ -441,6 +441,11 @@ class Templates(TestCase):
        output1 = template.render(Context({'foo': range(3), 'get_value': lambda: next(gen1)}))
        self.assertEqual(output1, '[0,1,2,3]', 'Expected [0,1,2,3] in first template, got {0}'.format(output1))

    def test_cache_regression_20130(self):
        t = Template('{% load cache %}{% cache 1 regression_20130 %}foo{% endcache %}')
        cachenode = t.nodelist[1]
        self.assertEqual(cachenode.fragment_name, 'regression_20130')

    def test_ifchanged_render_once(self):
        """ Test for ticket #19890. The content of ifchanged template tag was
        rendered twice."""