Added tests for deprecation warnings and fixed the argument order for the warnings.
This commit is contained in:
parent
ae4125ffce
commit
38ce709fe4
|
@ -196,14 +196,18 @@ class SortedDict(dict):
|
||||||
# This, and insert() are deprecated because they cannot be implemented
|
# This, and insert() are deprecated because they cannot be implemented
|
||||||
# using collections.OrderedDict (Python 2.7 and up), which we'll
|
# using collections.OrderedDict (Python 2.7 and up), which we'll
|
||||||
# eventually switch to
|
# eventually switch to
|
||||||
warnings.warn(PendingDeprecationWarning,
|
warnings.warn(
|
||||||
"SortedDict.value_for_index is deprecated", stacklevel=2)
|
"SortedDict.value_for_index is deprecated", PendingDeprecationWarning,
|
||||||
|
stacklevel=2
|
||||||
|
)
|
||||||
return self[self.keyOrder[index]]
|
return self[self.keyOrder[index]]
|
||||||
|
|
||||||
def insert(self, index, key, value):
|
def insert(self, index, key, value):
|
||||||
"""Inserts the key, value pair before the item with the given index."""
|
"""Inserts the key, value pair before the item with the given index."""
|
||||||
warnings.warn(PendingDeprecationWarning,
|
warnings.warn(
|
||||||
"SortedDict.insert is deprecated", stacklevel=2)
|
"SortedDict.insert is deprecated", PendingDeprecationWarning,
|
||||||
|
stacklevel=2
|
||||||
|
)
|
||||||
if key in self.keyOrder:
|
if key in self.keyOrder:
|
||||||
n = self.keyOrder.index(key)
|
n = self.keyOrder.index(key)
|
||||||
del self.keyOrder[n]
|
del self.keyOrder[n]
|
||||||
|
|
|
@ -4,6 +4,7 @@ Tests for stuff in django.utils.datastructures.
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
import pickle
|
import pickle
|
||||||
|
import warnings
|
||||||
|
|
||||||
from django.test import SimpleTestCase
|
from django.test import SimpleTestCase
|
||||||
from django.utils.datastructures import (DictWrapper, ImmutableList,
|
from django.utils.datastructures import (DictWrapper, ImmutableList,
|
||||||
|
@ -122,6 +123,21 @@ class SortedDictTests(SimpleTestCase):
|
||||||
self.assertEqual(self.d1, {})
|
self.assertEqual(self.d1, {})
|
||||||
self.assertEqual(self.d1.keyOrder, [])
|
self.assertEqual(self.d1.keyOrder, [])
|
||||||
|
|
||||||
|
def test_insert(self):
|
||||||
|
d = SortedDict()
|
||||||
|
with warnings.catch_warnings(record=True) as w:
|
||||||
|
warnings.simplefilter("always")
|
||||||
|
d.insert(0, "hello", "world")
|
||||||
|
assert w[0].category is PendingDeprecationWarning
|
||||||
|
|
||||||
|
def test_value_for_index(self):
|
||||||
|
d = SortedDict({"a": 3})
|
||||||
|
with warnings.catch_warnings(record=True) as w:
|
||||||
|
warnings.simplefilter("always")
|
||||||
|
self.assertEqual(d.value_for_index(0), 3)
|
||||||
|
assert w[0].category is PendingDeprecationWarning
|
||||||
|
|
||||||
|
|
||||||
class MergeDictTests(SimpleTestCase):
|
class MergeDictTests(SimpleTestCase):
|
||||||
|
|
||||||
def test_simple_mergedict(self):
|
def test_simple_mergedict(self):
|
||||||
|
|
Loading…
Reference in New Issue