Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added tests for deprecation warnings and fixed the argument order for…

… the warnings.
  • Loading branch information...
commit 38ce709fe44ebf37e6c8531451eab98fe0a552a0 1 parent ae4125f
@alex alex authored
View
12 django/utils/datastructures.py
@@ -196,14 +196,18 @@ def value_for_index(self, index):
# This, and insert() are deprecated because they cannot be implemented
# using collections.OrderedDict (Python 2.7 and up), which we'll
# eventually switch to
- warnings.warn(PendingDeprecationWarning,
- "SortedDict.value_for_index is deprecated", stacklevel=2)
+ warnings.warn(
+ "SortedDict.value_for_index is deprecated", PendingDeprecationWarning,
+ stacklevel=2
+ )
return self[self.keyOrder[index]]
def insert(self, index, key, value):
"""Inserts the key, value pair before the item with the given index."""
- warnings.warn(PendingDeprecationWarning,
- "SortedDict.insert is deprecated", stacklevel=2)
+ warnings.warn(
+ "SortedDict.insert is deprecated", PendingDeprecationWarning,
+ stacklevel=2
+ )
if key in self.keyOrder:
n = self.keyOrder.index(key)
del self.keyOrder[n]
View
16 tests/regressiontests/utils/datastructures.py
@@ -4,6 +4,7 @@
import copy
import pickle
+import warnings
from django.test import SimpleTestCase
from django.utils.datastructures import (DictWrapper, ImmutableList,
@@ -122,6 +123,21 @@ def test_clear(self):
self.assertEqual(self.d1, {})
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):
def test_simple_mergedict(self):
Please sign in to comment.
Something went wrong with that request. Please try again.