summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Pope <nick@nickpope.me.uk>2021-03-10 08:29:05 +0000
committerGitHub <noreply@github.com>2021-03-10 09:29:05 +0100
commitafb0eb8bb3e1c6f7ea842d2cede684eb4aec3f3d (patch)
tree0e065894493ede52a2db66e0d998301bd3079445
parentba9a2b754452b542d3f472f0acce6f940911aced (diff)
Refs #24121 -- Added __repr__() to OrderedSet.
-rw-r--r--django/utils/datastructures.py4
-rw-r--r--tests/utils_tests/test_datastructures.py4
2 files changed, 8 insertions, 0 deletions
diff --git a/django/utils/datastructures.py b/django/utils/datastructures.py
index 99f9ff2a72..e605ce0720 100644
--- a/django/utils/datastructures.py
+++ b/django/utils/datastructures.py
@@ -37,6 +37,10 @@ class OrderedSet:
def __len__(self):
return len(self.dict)
+ def __repr__(self):
+ data = repr(list(self.dict)) if self.dict else ''
+ return f'{self.__class__.__qualname__}({data})'
+
class MultiValueDictKeyError(KeyError):
pass
diff --git a/tests/utils_tests/test_datastructures.py b/tests/utils_tests/test_datastructures.py
index 465f1864dd..259ebb2f7b 100644
--- a/tests/utils_tests/test_datastructures.py
+++ b/tests/utils_tests/test_datastructures.py
@@ -60,6 +60,10 @@ class OrderedSetTests(SimpleTestCase):
s.add(2)
self.assertEqual(len(s), 2)
+ def test_repr(self):
+ self.assertEqual(repr(OrderedSet()), 'OrderedSet()')
+ self.assertEqual(repr(OrderedSet([2, 3, 2, 1])), 'OrderedSet([2, 3, 1])')
+
class MultiValueDictTests(SimpleTestCase):