MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_object_pairs_hook

Method test_object_pairs_hook

Lib/test/test_json/test_decode.py:53–73  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

51 self.assertEqual(self.loads('""'), "")
52
53 def test_object_pairs_hook(self):
54 s = '{"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7}'
55 p = [("xkd", 1), ("kcw", 2), ("art", 3), ("hxm", 4),
56 ("qrt", 5), ("pad", 6), ("hoy", 7)]
57 self.assertEqual(self.loads(s), eval(s))
58 self.assertEqual(self.loads(s, object_pairs_hook=lambda x: x), p)
59 self.assertEqual(self.json.load(StringIO(s),
60 object_pairs_hook=lambda x: x), p)
61 od = self.loads(s, object_pairs_hook=OrderedDict)
62 self.assertEqual(od, OrderedDict(p))
63 self.assertEqual(type(od), OrderedDict)
64 # the object_pairs_hook takes priority over the object_hook
65 self.assertEqual(self.loads(s, object_pairs_hook=OrderedDict,
66 object_hook=lambda x: None),
67 OrderedDict(p))
68 # check that empty object literals work (see #17368)
69 self.assertEqual(self.loads('{}', object_pairs_hook=OrderedDict),
70 OrderedDict())
71 self.assertEqual(self.loads('{"empty": {}}',
72 object_pairs_hook=OrderedDict),
73 OrderedDict([('empty', OrderedDict())]))
74
75 def test_decoder_optimizations(self):
76 # Several optimizations were made that skip over calls to

Callers

nothing calls this directly

Calls 6

StringIOClass · 0.90
OrderedDictClass · 0.90
evalFunction · 0.50
assertEqualMethod · 0.45
loadsMethod · 0.45
loadMethod · 0.45

Tested by

no test coverage detected