def test_20_json_pointer(self): # test case in rfc, http://tools.ietf.org/html/rfc6901 dic = {"foo": ["bar", "baz"], "": 0, "a/b": 1, "c%d": 2, "e^f": 3, "g|h": 4, r"i\\j": 5, r'k\"l': 6, " ": 7, "m~n": 8} self.assertTrue(dicts_equal(TT.get(dic, "")[0], dic)) self.assertEqual(TT.get(dic, "/foo")[0], ["bar", "baz"]) self.assertEqual(TT.get(dic, "/foo/0")[0], "bar") self.assertEqual(TT.get(dic, "/")[0], 0) self.assertEqual(TT.get(dic, "/a~1b")[0], 1) self.assertEqual(TT.get(dic, "/c%d")[0], 2) self.assertEqual(TT.get(dic, "/e^f")[0], 3) self.assertEqual(TT.get(dic, "/g|h")[0], 4) self.assertEqual(TT.get(dic, r"/i\\j")[0], 5) self.assertEqual(TT.get(dic, r'/k\"l')[0], 6) self.assertEqual(TT.get(dic, "/ ")[0], 7) self.assertEqual(TT.get(dic, "/m~0n")[0], 8)
def test_10_empty_path(self): dic = dict(a=1, b=[1, 2]) (dic2, err) = TT.get(dic, '') self.assertEqual(err, '') self.assertTrue(dicts_equal(dic2, dic))