mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[utils] Process non-base 10 integers in js_to_json
This commit is contained in:
		| @@ -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'}) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․