diff options
author | Ezio Melotti <ezio.melotti@gmail.com> | 2013-03-12 23:49:57 (GMT) |
---|---|---|
committer | Ezio Melotti <ezio.melotti@gmail.com> | 2013-03-12 23:49:57 (GMT) |
commit | fda7a8ce78cdc46c6728ad9cd82c4b3eccd0dd92 (patch) | |
tree | a47ff8b56cf3a15d4056da86ac92bda314514be4 /Lib/json/tests | |
parent | 981c3bde8de59bd516f26e435d01788df3d5de56 (diff) | |
download | cpython-fda7a8ce78cdc46c6728ad9cd82c4b3eccd0dd92.zip cpython-fda7a8ce78cdc46c6728ad9cd82c4b3eccd0dd92.tar.gz cpython-fda7a8ce78cdc46c6728ad9cd82c4b3eccd0dd92.tar.bz2 |
#17368: Fix an off-by-one error in the Python JSON decoder that caused a failure while decoding empty object literals when object_pairs_hook was specified.
Diffstat (limited to 'Lib/json/tests')
-rw-r--r-- | Lib/json/tests/test_decode.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Lib/json/tests/test_decode.py b/Lib/json/tests/test_decode.py index 478a16b..ffd1aa4 100644 --- a/Lib/json/tests/test_decode.py +++ b/Lib/json/tests/test_decode.py @@ -40,10 +40,15 @@ class TestDecode(object): self.assertEqual(od, OrderedDict(p)) self.assertEqual(type(od), OrderedDict) # the object_pairs_hook takes priority over the object_hook - self.assertEqual(self.loads(s, - object_pairs_hook=OrderedDict, + self.assertEqual(self.loads(s, object_pairs_hook=OrderedDict, object_hook=lambda x: None), OrderedDict(p)) + # check that empty objects literals work (see #17368) + self.assertEqual(self.loads('{}', object_pairs_hook=OrderedDict), + OrderedDict()) + self.assertEqual(self.loads('{"empty": {}}', + object_pairs_hook=OrderedDict), + OrderedDict([('empty', OrderedDict())])) def test_extra_data(self): s = '[1, 2, 3]5' |