|
|
|
@ -617,6 +617,15 @@ class TestUtil(unittest.TestCase):
|
|
|
|
|
json_code = js_to_json(inp)
|
|
|
|
|
self.assertEqual(json.loads(json_code), json.loads(inp))
|
|
|
|
|
|
|
|
|
|
inp = '''{
|
|
|
|
|
0:{src:'skipped', type: 'application/dash+xml'},
|
|
|
|
|
1:{src:'skipped', type: 'application/vnd.apple.mpegURL'},
|
|
|
|
|
}'''
|
|
|
|
|
self.assertEqual(js_to_json(inp), '''{
|
|
|
|
|
"0":{"src":"skipped", "type": "application/dash+xml"},
|
|
|
|
|
"1":{"src":"skipped", "type": "application/vnd.apple.mpegURL"}
|
|
|
|
|
}''')
|
|
|
|
|
|
|
|
|
|
def test_js_to_json_edgecases(self):
|
|
|
|
|
on = js_to_json("{abc_def:'1\\'\\\\2\\\\\\'3\"4'}")
|
|
|
|
|
self.assertEqual(json.loads(on), {"abc_def": "1'\\2\\'3\"4"})
|
|
|
|
@ -652,6 +661,16 @@ class TestUtil(unittest.TestCase):
|
|
|
|
|
on = js_to_json("['a\\\nb']")
|
|
|
|
|
self.assertEqual(json.loads(on), ['ab'])
|
|
|
|
|
|
|
|
|
|
on = js_to_json('{0xff:0xff}')
|
|
|
|
|
self.assertEqual(json.loads(on), {'255': 255})
|
|
|
|
|
|
|
|
|
|
on = js_to_json('{077:077}')
|
|
|
|
|
self.assertEqual(json.loads(on), {'63': 63})
|
|
|
|
|
|
|
|
|
|
on = js_to_json('{42:42}')
|
|
|
|
|
self.assertEqual(json.loads(on), {'42': 42})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_extract_attributes(self):
|
|
|
|
|
self.assertEqual(extract_attributes('<e x="y">'), {'x': 'y'})
|
|
|
|
|
self.assertEqual(extract_attributes("<e x='y'>"), {'x': 'y'})
|
|
|
|
|