mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[utils] js_to_json: various improvements
now JS object literals like { /* " */ 0: ",]\xaa<\/p>", } will be correctly converted to JSON.
			
			
This commit is contained in:
		| @@ -640,6 +640,18 @@ class TestUtil(unittest.TestCase): | ||||
|         on = js_to_json('{"abc": "def",}') | ||||
|         self.assertEqual(json.loads(on), {'abc': 'def'}) | ||||
|  | ||||
|         on = js_to_json('{ 0: /* " \n */ ",]" , }') | ||||
|         self.assertEqual(json.loads(on), {'0': ',]'}) | ||||
|  | ||||
|         on = js_to_json(r'["<p>x<\/p>"]') | ||||
|         self.assertEqual(json.loads(on), ['<p>x</p>']) | ||||
|  | ||||
|         on = js_to_json(r'["\xaa"]') | ||||
|         self.assertEqual(json.loads(on), ['\u00aa']) | ||||
|  | ||||
|         on = js_to_json("['a\\\nb']") | ||||
|         self.assertEqual(json.loads(on), ['ab']) | ||||
|  | ||||
|     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
	 felix
					felix