mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Fixed #27198 -- Made MultiValueDict.getlist() return a new list to prevent mutation.
This commit is contained in:
@@ -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):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user