@@ -25,16 +25,22 @@ def test_object_pairs_hook(self):
2525 p = [("xkd" , 1 ), ("kcw" , 2 ), ("art" , 3 ), ("hxm" , 4 ),
2626 ("qrt" , 5 ), ("pad" , 6 ), ("hoy" , 7 )]
2727 self .assertEqual (self .loads (s ), eval (s ))
28- self .assertEqual (self .loads (s , object_pairs_hook = lambda x : x ), p )
28+ self .assertEqual (self .loads (s , object_pairs_hook = lambda x : x ), p )
2929 self .assertEqual (self .json .load (StringIO (s ),
3030 object_pairs_hook = lambda x : x ), p )
31- od = self .loads (s , object_pairs_hook = OrderedDict )
31+ od = self .loads (s , object_pairs_hook = OrderedDict )
3232 self .assertEqual (od , OrderedDict (p ))
3333 self .assertEqual (type (od ), OrderedDict )
3434 # the object_pairs_hook takes priority over the object_hook
35- self .assertEqual (self .loads (s , object_pairs_hook = OrderedDict ,
36- object_hook = lambda x : None ),
35+ self .assertEqual (self .loads (s , object_pairs_hook = OrderedDict ,
36+ object_hook = lambda x : None ),
3737 OrderedDict (p ))
38+ # check that empty objects literals work (see #17368)
39+ self .assertEqual (self .loads ('{}' , object_pairs_hook = OrderedDict ),
40+ OrderedDict ())
41+ self .assertEqual (self .loads ('{"empty": {}}' ,
42+ object_pairs_hook = OrderedDict ),
43+ OrderedDict ([('empty' , OrderedDict ())]))
3844
3945 def test_decoder_optimizations (self ):
4046 # Several optimizations were made that skip over calls to
0 commit comments