55 class cubePotGeneratorTC(TestCase): |
55 class cubePotGeneratorTC(TestCase): |
56 """test case for i18n pot file generator""" |
56 """test case for i18n pot file generator""" |
57 |
57 |
58 def test_i18ncube(self): |
58 def test_i18ncube(self): |
59 env = os.environ.copy() |
59 env = os.environ.copy() |
|
60 if 'PYTHONPATH' in env: |
|
61 env['PYTHONPATH'] += os.pathsep |
|
62 else: |
|
63 env['PYTHONPATH'] = '' |
|
64 env['PYTHONPATH'] += osp.join(DATADIR, 'libpython') |
|
65 cubedir = osp.join(DATADIR, 'libpython', 'cubicweb_i18ntestcube') |
|
66 self._check(cubedir, env) |
|
67 |
|
68 def test_i18ncube_legacy_layout(self): |
|
69 env = os.environ.copy() |
60 env['CW_CUBES_PATH'] = osp.join(DATADIR, 'cubes') |
70 env['CW_CUBES_PATH'] = osp.join(DATADIR, 'cubes') |
61 if 'PYTHONPATH' in env: |
71 if 'PYTHONPATH' in env: |
62 env['PYTHONPATH'] += os.pathsep |
72 env['PYTHONPATH'] += os.pathsep |
63 else: |
73 else: |
64 env['PYTHONPATH'] = '' |
74 env['PYTHONPATH'] = '' |
65 env['PYTHONPATH'] += DATADIR |
75 env['PYTHONPATH'] += DATADIR |
|
76 cubedir = osp.join(DATADIR, 'cubes', 'i18ntestcube') |
|
77 self._check(cubedir, env) |
|
78 |
|
79 def _check(self, cubedir, env): |
66 cmd = [sys.executable, '-m', 'cubicweb', 'i18ncube', 'i18ntestcube'] |
80 cmd = [sys.executable, '-m', 'cubicweb', 'i18ncube', 'i18ntestcube'] |
67 proc = Popen(cmd, env=env, stdout=PIPE, stderr=STDOUT) |
81 proc = Popen(cmd, env=env, stdout=PIPE, stderr=STDOUT) |
68 stdout, _ = proc.communicate() |
82 stdout, _ = proc.communicate() |
69 self.assertEqual(proc.returncode, 0, msg=stdout) |
83 msg = stdout.decode(sys.getdefaultencoding(), errors='replace') |
70 cube = osp.join(DATADIR, 'cubes', 'i18ntestcube') |
84 self.assertEqual(proc.returncode, 0, msg=msg) |
71 msgs = load_po(osp.join(cube, 'i18n', 'en.po.ref')) |
85 msgs = load_po(osp.join(cubedir, 'i18n', 'en.po.ref')) |
72 newmsgs = load_po(osp.join(cube, 'i18n', 'en.po')) |
86 newmsgs = load_po(osp.join(cubedir, 'i18n', 'en.po')) |
73 self.assertEqual(msgs, newmsgs) |
87 self.assertEqual(msgs, newmsgs) |
74 |
88 |
75 |
89 |
76 if __name__ == '__main__': |
90 if __name__ == '__main__': |
77 main() |
91 main() |