From 368387c8ff46d5e54106b0584933e2d211bc587a Mon Sep 17 00:00:00 2001 From: "Dominic H." Date: Sun, 19 Jul 2026 12:22:44 +0200 Subject: [PATCH 1/3] Add test for skipped `cls=None` case --- Lib/test/test_json/test_decode.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_json/test_decode.py b/Lib/test/test_json/test_decode.py index 1d51fb2de0e69e4..e32c779af09c40d 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,13 @@ def test_limit_int(self): 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 +class TestCDecode(TestDecode, CTest): pass \ No newline at end of file From a76ab499374451a9acf4864d2f258c708e0ee54d Mon Sep 17 00:00:00 2001 From: "Dominic H." Date: Sun, 19 Jul 2026 12:27:43 +0200 Subject: [PATCH 2/3] Fix lint --- Lib/test/test_json/test_decode.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/test/test_json/test_decode.py b/Lib/test/test_json/test_decode.py index e32c779af09c40d..da8aec8691a8171 100644 --- a/Lib/test/test_json/test_decode.py +++ b/Lib/test/test_json/test_decode.py @@ -165,4 +165,4 @@ class CustomDecoder(): pass mock_decode.assert_called_once() class TestPyDecode(TestDecode, PyTest): pass -class TestCDecode(TestDecode, CTest): pass \ No newline at end of file +class TestCDecode(TestDecode, CTest): pass From ba1d781a3880a6d82ca99b1fbedbda8c6b4db2ef Mon Sep 17 00:00:00 2001 From: "Dominic H." Date: Sun, 19 Jul 2026 13:03:16 +0200 Subject: [PATCH 3/3] Add new line between classes --- Lib/test/test_json/test_decode.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_json/test_decode.py b/Lib/test/test_json/test_decode.py index da8aec8691a8171..6d05ef8f8eb0918 100644 --- a/Lib/test/test_json/test_decode.py +++ b/Lib/test/test_json/test_decode.py @@ -157,12 +157,14 @@ def test_limit_int(self): self.loads('1' * (maxdigits + 1)) def test_explicit_cls_skips_json_decoder_default(self): - class CustomDecoder(): pass + 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