@@ -29,7 +29,8 @@ def test_all(self):
2929 self .assertEqual (collections .UserDict (one = 1 , two = 2 ), d2 )
3030 # item sequence constructor
3131 self .assertEqual (collections .UserDict ([('one' ,1 ), ('two' ,2 )]), d2 )
32- self .assertEqual (collections .UserDict (dict = [('one' ,1 ), ('two' ,2 )]), d2 )
32+ with self .assertWarnsRegex (PendingDeprecationWarning , "'dict'" ):
33+ self .assertEqual (collections .UserDict (dict = [('one' ,1 ), ('two' ,2 )]), d2 )
3334 # both together
3435 self .assertEqual (collections .UserDict ([('one' ,1 ), ('two' ,2 )], two = 3 , three = 5 ), d3 )
3536
@@ -139,6 +140,30 @@ def display(self): print(self)
139140 self .assertEqual (t .popitem (), ("x" , 42 ))
140141 self .assertRaises (KeyError , t .popitem )
141142
143+ def test_init (self ):
144+ for kw in 'self' , 'other' , 'iterable' :
145+ self .assertEqual (list (collections .UserDict (** {kw : 42 }).items ()),
146+ [(kw , 42 )])
147+ self .assertEqual (list (collections .UserDict ({}, dict = 42 ).items ()),
148+ [('dict' , 42 )])
149+ self .assertEqual (list (collections .UserDict ({}, dict = None ).items ()),
150+ [('dict' , None )])
151+ with self .assertWarnsRegex (PendingDeprecationWarning , "'dict'" ):
152+ self .assertEqual (list (collections .UserDict (dict = {'a' : 42 }).items ()),
153+ [('a' , 42 )])
154+ self .assertRaises (TypeError , collections .UserDict , 42 )
155+ self .assertRaises (TypeError , collections .UserDict , (), ())
156+ self .assertRaises (TypeError , collections .UserDict .__init__ )
157+
158+ def test_update (self ):
159+ for kw in 'self' , 'dict' , 'other' , 'iterable' :
160+ d = collections .UserDict ()
161+ d .update (** {kw : 42 })
162+ self .assertEqual (list (d .items ()), [(kw , 42 )])
163+ self .assertRaises (TypeError , collections .UserDict ().update , 42 )
164+ self .assertRaises (TypeError , collections .UserDict ().update , {}, {})
165+ self .assertRaises (TypeError , collections .UserDict .update )
166+
142167 def test_missing (self ):
143168 # Make sure UserDict doesn't have a __missing__ method
144169 self .assertEqual (hasattr (collections .UserDict , "__missing__" ), False )
0 commit comments