cubicweb/devtools/test/unittest_i18n.py
changeset 11460 5be729810695
parent 11208 fe57dc4adfea
child 11735 7a170207acbf
equal deleted inserted replaced
11459:8987a05950dc 11460:5be729810695
    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()