Skip to content

Commit 9f7c44f

Browse files
[3.15] Add test for explicit cls argument bypassing default JSON decoder (GH-154094) (#154112)
Add test for explicit `cls` argument bypassing default JSON decoder (GH-154094) * Add test for skipped `cls=None` case * Fix lint * Add new line between classes (cherry picked from commit 5380589) Co-authored-by: Dominic H <dom@dominic.sk>
1 parent bc8af59 commit 9f7c44f

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

Lib/test/test_json/test_decode.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import decimal
2+
import unittest.mock
23
from io import StringIO
34
from collections import OrderedDict
45
from test.test_json import PyTest, CTest
@@ -155,6 +156,15 @@ def test_limit_int(self):
155156
with self.assertRaises(ValueError):
156157
self.loads('1' * (maxdigits + 1))
157158

159+
def test_explicit_cls_skips_json_decoder_default(self):
160+
class CustomDecoder:
161+
pass
162+
163+
with unittest.mock.patch.object(
164+
CustomDecoder, 'decode', create=True) as mock_decode:
165+
self.loads('{}', cls=CustomDecoder)
166+
mock_decode.assert_called_once()
167+
158168

159169
class TestPyDecode(TestDecode, PyTest): pass
160170
class TestCDecode(TestDecode, CTest): pass

0 commit comments

Comments
 (0)