@@ -122,6 +122,17 @@ def items(self):
122
122
self .OrderedDict (Spam ())
123
123
self .assertEqual (calls , ['keys' ])
124
124
125
+ def test_overridden_init (self ):
126
+ # Sync-up pure Python OD class with C class where
127
+ # a consistent internal state is created in __new__
128
+ # rather than __init__.
129
+ OrderedDict = self .OrderedDict
130
+ class ODNI (OrderedDict ):
131
+ def __init__ (* args , ** kwargs ):
132
+ pass
133
+ od = ODNI ()
134
+ od ['a' ] = 1 # This used to fail because __init__ was bypassed
135
+
125
136
def test_fromkeys (self ):
126
137
OrderedDict = self .OrderedDict
127
138
od = OrderedDict .fromkeys ('abc' )
@@ -370,7 +381,7 @@ def test_repr(self):
370
381
OrderedDict = self .OrderedDict
371
382
od = OrderedDict ([('c' , 1 ), ('b' , 2 ), ('a' , 3 ), ('d' , 4 ), ('e' , 5 ), ('f' , 6 )])
372
383
self .assertEqual (repr (od ),
373
- "OrderedDict([( 'c', 1), ( 'b', 2), ( 'a', 3), ( 'd', 4), ( 'e', 5), ( 'f', 6)] )" )
384
+ "OrderedDict({ 'c': 1, 'b': 2, 'a': 3, 'd': 4, 'e': 5, 'f': 6} )" )
374
385
self .assertEqual (eval (repr (od )), od )
375
386
self .assertEqual (repr (OrderedDict ()), "OrderedDict()" )
376
387
@@ -380,7 +391,7 @@ def test_repr_recursive(self):
380
391
od = OrderedDict .fromkeys ('abc' )
381
392
od ['x' ] = od
382
393
self .assertEqual (repr (od ),
383
- "OrderedDict([( 'a', None), ( 'b', None), ( 'c', None), ( 'x', ...)] )" )
394
+ "OrderedDict({ 'a': None, 'b': None, 'c': None, 'x': ...} )" )
384
395
385
396
def test_repr_recursive_values (self ):
386
397
OrderedDict = self .OrderedDict
0 commit comments