From: Dominic H. Date: Sun, 19 Jul 2026 11:58:06 +0000 (+0200) Subject: Add test for explicit `cls` argument bypassing default JSON decoder (#154094) X-Git-Url: http://git.ipfire.org/index.cgi?a=commitdiff_plain;h=5380589615515fa9e2c48820073a3fd8e32a930d;p=thirdparty%2FPython%2Fcpython.git Add test for explicit `cls` argument bypassing default JSON decoder (#154094) * Add test for skipped `cls=None` case * Fix lint * Add new line between classes --- diff --git a/Lib/test/test_json/test_decode.py b/Lib/test/test_json/test_decode.py index 1d51fb2de0e6..6d05ef8f8eb0 100644 --- a/Lib/test/test_json/test_decode.py +++ b/Lib/test/test_json/test_decode.py @@ -1,4 +1,5 @@ import decimal +import unittest.mock from io import StringIO from collections import OrderedDict from test.test_json import PyTest, CTest @@ -155,6 +156,15 @@ class TestDecode: with self.assertRaises(ValueError): self.loads('1' * (maxdigits + 1)) + def test_explicit_cls_skips_json_decoder_default(self): + class CustomDecoder: + pass + + with unittest.mock.patch.object( + CustomDecoder, 'decode', create=True) as mock_decode: + self.loads('{}', cls=CustomDecoder) + mock_decode.assert_called_once() + class TestPyDecode(TestDecode, PyTest): pass class TestCDecode(TestDecode, CTest): pass