summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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):