summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorPhilipp Hagemeister <[email protected]>2014-09-30 11:12:59 +0200
committerPhilipp Hagemeister <[email protected]>2014-10-01 00:08:34 +0200
commite7b6d12254702a4aa6a9f54420f80e6ea456b120 (patch)
tree46620b2f0829ff030780853cc70d18a94762ece3 /test
parent410f3e73ab268f74a455798ee39de5caba90caea (diff)
downloadyoutube-dl-e7b6d12254702a4aa6a9f54420f80e6ea456b120.tar.gz
youtube-dl-e7b6d12254702a4aa6a9f54420f80e6ea456b120.zip
[utils] Improve and test js_to_json
Diffstat (limited to 'test')
-rw-r--r--test/test_utils.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/test/test_utils.py b/test/test_utils.py
index 113aa44b2..bcca0efea 100644
--- a/test/test_utils.py
+++ b/test/test_utils.py
@@ -332,14 +332,28 @@ class TestUtil(unittest.TestCase):
)
self.assertEqual(escape_url('http://vimeo.com/56015672#at=0'), 'http://vimeo.com/56015672#at=0')
- def test_js_to_json(self):
+ def test_js_to_json_realworld(self):
inp = '''{
- 'clip':{'provider':'pseudo'}
+ 'clip':{'provider':'pseudo'}
}'''
self.assertEqual(js_to_json(inp), '''{
- "clip":{"provider":"pseudo"}
+ "clip":{"provider":"pseudo"}
}''')
json.loads(js_to_json(inp))
+ inp = '''{
+ 'playlist':[{'controls':{'all':null}}]
+ }'''
+ self.assertEqual(js_to_json(inp), '''{
+ "playlist":[{"controls":{"all":null}}]
+ }''')
+
+ 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"})
+
+ on = js_to_json('{"abc": true}')
+ self.assertEqual(json.loads(on), {'abc': True})
+
if __name__ == '__main__':
unittest.main()