summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorRaymond Hettinger <rhettinger@users.noreply.github.com>2023-08-21 09:49:08 (GMT)
committerGitHub <noreply@github.com>2023-08-21 09:49:08 (GMT)
commit20cc90c0df3e368fe7cb63d958f0b17a78fa9d0a (patch)
treea1d5d29060046a334d76a88de119dcd5f0cef316 /Lib/test
parent014a5b71e7538926ae1c03c8c5ea13c96e741be3 (diff)
downloadcpython-20cc90c0df3e368fe7cb63d958f0b17a78fa9d0a.zip
cpython-20cc90c0df3e368fe7cb63d958f0b17a78fa9d0a.tar.gz
cpython-20cc90c0df3e368fe7cb63d958f0b17a78fa9d0a.tar.bz2
gh-105736: Sync pure python version of OrderedDict with the C version (#108098)
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_ordered_dict.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/Lib/test/test_ordered_dict.py b/Lib/test/test_ordered_dict.py
index decbcc2..4571b23 100644
--- a/Lib/test/test_ordered_dict.py
+++ b/Lib/test/test_ordered_dict.py
@@ -122,6 +122,17 @@ class OrderedDictTests:
self.OrderedDict(Spam())
self.assertEqual(calls, ['keys'])
+ def test_overridden_init(self):
+ # Sync-up pure Python OD class with C class where
+ # a consistent internal state is created in __new__
+ # rather than __init__.
+ OrderedDict = self.OrderedDict
+ class ODNI(OrderedDict):
+ def __init__(*args, **kwargs):
+ pass
+ od = ODNI()
+ od['a'] = 1 # This used to fail because __init__ was bypassed
+
def test_fromkeys(self):
OrderedDict = self.OrderedDict
od = OrderedDict.fromkeys('abc')