From: David Lord Date: Thu, 24 Oct 2019 14:54:38 +0000 (-0700) Subject: don't create a third queue X-Git-Tag: 2.11.0~31^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7ca03082c5ba4621113a16178a12cfdad20760bb;p=thirdparty%2Fjinja.git don't create a third queue --- diff --git a/CHANGES.rst b/CHANGES.rst index 6a35fd85..f64047bd 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -55,8 +55,8 @@ Unreleased - :class:`~nativetypes.NativeTemplate` correctly handles quotes between expressions. ``"'{{ a }}', '{{ b }}'"`` renders as the tuple ``('1', '2')`` rather than the string ``'1, 2'``. :issue:`1020` -- ``LRUCache.copy()`` correctly re-initializes the queue methods - after copying. :issue:`843` +- After calling ``LRUCache.copy()``, the copy's queue methods point to + the correct queue. :issue:`843` Version 2.10.3 diff --git a/jinja2/utils.py b/jinja2/utils.py index 220edcf1..d2759e21 100644 --- a/jinja2/utils.py +++ b/jinja2/utils.py @@ -340,8 +340,7 @@ class LRUCache(object): """Return a shallow copy of the instance.""" rv = self.__class__(self.capacity) rv._mapping.update(self._mapping) - rv._queue = deque(self._queue) - rv._postinit() + rv._queue.extend(self._queue) return rv def get(self, key, default=None): diff --git a/tests/test_utils.py b/tests/test_utils.py index 56ca5dcd..7ff39f01 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -17,10 +17,11 @@ import random import pytest from jinja2._compat import string_types, range_type -from jinja2.utils import LRUCache, escape, object_type_repr, urlize, \ +from jinja2.utils import LRUCache, object_type_repr, urlize, \ select_autoescape, generate_lorem_ipsum, missing, consume from markupsafe import Markup + @pytest.mark.utils @pytest.mark.lrucache class TestLRUCache(object):