diff options
author | Philipp Hagemeister <[email protected]> | 2014-09-30 11:12:59 +0200 |
---|---|---|
committer | Philipp Hagemeister <[email protected]> | 2014-10-01 00:08:34 +0200 |
commit | e7b6d12254702a4aa6a9f54420f80e6ea456b120 (patch) | |
tree | 46620b2f0829ff030780853cc70d18a94762ece3 /test | |
parent | 410f3e73ab268f74a455798ee39de5caba90caea (diff) | |
download | youtube-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.py | 20 |
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() |