diff options
| author | Jani Tiainen <jtiai@code.nowarelabs.mywire.org> | 2016-09-10 12:25:42 +0300 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-09-16 15:16:18 -0400 |
| commit | 727d7ce6cba21363470aaefb2dc5353017531be3 (patch) | |
| tree | a0b3c95275b55f50046f394790392bb37c1fddcb /tests/utils_tests/test_datastructures.py | |
| parent | 6989b45c8dce0d3c50d1530fd65d388c7fde2a2a (diff) | |
Fixed #27198 -- Made MultiValueDict.getlist() return a new list to prevent mutation.
Diffstat (limited to 'tests/utils_tests/test_datastructures.py')
| -rw-r--r-- | tests/utils_tests/test_datastructures.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/utils_tests/test_datastructures.py b/tests/utils_tests/test_datastructures.py index 0f520ff9e7..ea2b147953 100644 --- a/tests/utils_tests/test_datastructures.py +++ b/tests/utils_tests/test_datastructures.py @@ -101,6 +101,24 @@ class MultiValueDictTests(SimpleTestCase): self.assertEqual({}, MultiValueDict().dict()) + def test_getlist_doesnt_mutate(self): + x = MultiValueDict({'a': ['1', '2'], 'b': ['3']}) + values = x.getlist('a') + values += x.getlist('b') + self.assertEqual(x.getlist('a'), ['1', '2']) + + def test_internal_getlist_does_mutate(self): + x = MultiValueDict({'a': ['1', '2'], 'b': ['3']}) + values = x._getlist('a') + values += x._getlist('b') + self.assertEqual(x._getlist('a'), ['1', '2', '3']) + + def test_getlist_default(self): + x = MultiValueDict({'a': [1]}) + MISSING = object() + values = x.getlist('b', default=MISSING) + self.assertIs(values, MISSING) + class ImmutableListTests(SimpleTestCase): |
