aboutsummaryrefslogtreecommitdiff
path: root/test/test_unicode_literals.py
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2014-11-26 20:01:20 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2014-11-26 20:01:22 +0100
commitdcddc10a5032996474e157946b00b8df039eebda (patch)
treec0203ee3349bcae04bab970657e391f4fc255736 /test/test_unicode_literals.py
parenta1008af412f51aac82c121eaed07f742055d010b (diff)
[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/test_unicode_literals.py')
-rw-r--r--test/test_unicode_literals.py13
1 files changed, 6 insertions, 7 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: