1
0
mirror of https://github.com/yt-dlp/yt-dlp synced 2025-06-30 19:12:53 -05:00

[utils] js_to_json: Implement template strings (#6623)

Authored by: Grub4K
This commit is contained in:
Simon Sawicki
2023-03-25 19:41:28 +01:00
committed by GitHub
parent f68434cc74
commit 0898c5c8cc
2 changed files with 16 additions and 2 deletions

View File

@ -1190,6 +1190,13 @@ class TestUtil(unittest.TestCase):
self.assertEqual(js_to_json('42a1'), '42"a1"')
self.assertEqual(js_to_json('42a-1'), '42"a"-1')
def test_js_to_json_template_literal(self):
self.assertEqual(js_to_json('`Hello ${name}`', {'name': '"world"'}), '"Hello world"')
self.assertEqual(js_to_json('`${name}${name}`', {'name': '"X"'}), '"XX"')
self.assertEqual(js_to_json('`${name}${name}`', {'name': '5'}), '"55"')
self.assertEqual(js_to_json('`${name}"${name}"`', {'name': '5'}), '"5\\"5\\""')
self.assertEqual(js_to_json('`${name}`', {}), '"name"')
def test_extract_attributes(self):
self.assertEqual(extract_attributes('<e x="y">'), {'x': 'y'})
self.assertEqual(extract_attributes("<e x='y'>"), {'x': 'y'})