diff options
author | Philipp Hagemeister <[email protected]> | 2014-11-26 20:01:20 +0100 |
---|---|---|
committer | Philipp Hagemeister <[email protected]> | 2014-11-26 20:01:22 +0100 |
commit | dcddc10a5032996474e157946b00b8df039eebda (patch) | |
tree | c0203ee3349bcae04bab970657e391f4fc255736 /test | |
parent | a1008af412f51aac82c121eaed07f742055d010b (diff) | |
download | youtube-dl-dcddc10a5032996474e157946b00b8df039eebda.tar.gz youtube-dl-dcddc10a5032996474e157946b00b8df039eebda.zip |
[test_unicode_literals] Arm unicode_literals check
From now on, the line
from __future__ import unicode_literals
should be contained in every single Python file lest we run into any more 2.x/3.x issues.
Going forward, we're likely to develop on 3.x only and would likely miss subtle bugs otherwise.
Diffstat (limited to 'test')
-rw-r--r-- | test/test_unicode_literals.py | 13 | ||||
-rw-r--r-- | test/test_write_annotations.py | 1 | ||||
-rw-r--r-- | test/test_write_info_json.py | 7 | ||||
-rw-r--r-- | test/test_youtube_lists.py | 1 |
4 files changed, 12 insertions, 10 deletions
diff --git a/test/test_unicode_literals.py b/test/test_unicode_literals.py index a4ba7bad0..2cc431b0b 100644 --- a/test/test_unicode_literals.py +++ b/test/test_unicode_literals.py @@ -9,14 +9,13 @@ rootDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) IGNORED_FILES = [ 'setup.py', # http://bugs.python.org/issue13943 + 'conf.py', + 'buildserver.py', ] class TestUnicodeLiterals(unittest.TestCase): def test_all_files(self): - print('Skipping this test (not yet fully implemented)') - return - for dirpath, _, filenames in os.walk(rootDir): for basename in filenames: if not basename.endswith('.py'): @@ -30,10 +29,10 @@ class TestUnicodeLiterals(unittest.TestCase): if "'" not in code and '"' not in code: continue - imps = 'from __future__ import unicode_literals' - self.assertTrue( - imps in code, - ' %s missing in %s' % (imps, fn)) + self.assertRegexpMatches( + code, + r'(?:#.*\n*)?from __future__ import (?:[a-z_]+,\s*)*unicode_literals', + 'unicode_literals import missing in %s' % fn) m = re.search(r'(?<=\s)u[\'"](?!\)|,|$)', code) if m is not None: diff --git a/test/test_write_annotations.py b/test/test_write_annotations.py index 852553ada..780636c77 100644 --- a/test/test_write_annotations.py +++ b/test/test_write_annotations.py @@ -1,5 +1,6 @@ #!/usr/bin/env python # coding: utf-8 +from __future__ import unicode_literals # Allow direct execution import os diff --git a/test/test_write_info_json.py b/test/test_write_info_json.py index 90426a559..0396ef262 100644 --- a/test/test_write_info_json.py +++ b/test/test_write_info_json.py @@ -1,5 +1,6 @@ #!/usr/bin/env python # coding: utf-8 +from __future__ import unicode_literals # Allow direct execution import os @@ -32,7 +33,7 @@ params = get_params({ TEST_ID = 'BaW_jenozKc' INFO_JSON_FILE = TEST_ID + '.info.json' DESCRIPTION_FILE = TEST_ID + '.mp4.description' -EXPECTED_DESCRIPTION = u'''test chars: "'/\ä↭𝕐 +EXPECTED_DESCRIPTION = '''test chars: "'/\ä↭𝕐 test URL: https://github.com/rg3/youtube-dl/issues/1892 This is a test video for youtube-dl. @@ -53,11 +54,11 @@ class TestInfoJSON(unittest.TestCase): self.assertTrue(os.path.exists(INFO_JSON_FILE)) with io.open(INFO_JSON_FILE, 'r', encoding='utf-8') as jsonf: jd = json.load(jsonf) - self.assertEqual(jd['upload_date'], u'20121002') + self.assertEqual(jd['upload_date'], '20121002') self.assertEqual(jd['description'], EXPECTED_DESCRIPTION) self.assertEqual(jd['id'], TEST_ID) self.assertEqual(jd['extractor'], 'youtube') - self.assertEqual(jd['title'], u'''youtube-dl test video "'/\ä↭𝕐''') + self.assertEqual(jd['title'], '''youtube-dl test video "'/\ä↭𝕐''') self.assertEqual(jd['uploader'], 'Philipp Hagemeister') self.assertTrue(os.path.exists(DESCRIPTION_FILE)) diff --git a/test/test_youtube_lists.py b/test/test_youtube_lists.py index 4ceba64ae..c889b6f15 100644 --- a/test/test_youtube_lists.py +++ b/test/test_youtube_lists.py @@ -1,4 +1,5 @@ #!/usr/bin/env python +from __future__ import unicode_literals # Allow direct execution import os |