2 # vim: set fileencoding=utf-8 :
4 Perform the following tests:
5 1. Generate an entityized version of an abbreviated version of fm_IDL.xml
6 2. Generate a POT file from fm_IDL.xml
7 3. Generate an entity definition file from a PO file
18 class TestIDLL10N(unittest.TestCase):
20 basedir = os.path.dirname(__file__)
21 script = os.path.join(basedir, '../scripts/fieldmapper.py')
22 tmpdirs = [(os.path.join(basedir, 'tmp/'))]
23 savepot = os.path.join(basedir, 'tmp/testsave.pot')
24 saveidlent = os.path.join(basedir, 'tmp/testidlent.xml')
25 saveentities = os.path.join(basedir, 'tmp/testentity.ent')
26 idlfile = os.path.join(basedir, 'data/testidl.xml')
27 idlentfile = os.path.join(basedir, 'data/testidlent.xml')
28 idlentities = os.path.join(basedir, 'data/testidl.ent')
29 testpot = os.path.join(basedir, 'data/testidl.pot')
30 testpo = os.path.join(basedir, 'data/testidl.po')
33 testhelper.setUp(self)
36 testhelper.tearDown(self)
38 def testentityize(self):
40 Convert an en-US IDL file to an entityized version
42 devnull = open('/dev/null', 'w')
43 proc = subprocess.Popen(
44 ('python', self.script, '--convert', self.idlfile,
45 '--output', self.saveidlent),
46 0, None, None, devnull, devnull).wait()
48 self.assertEqual(filecmp.cmp(self.saveidlent, self.idlentfile), 1)
50 def testsavepot(self):
52 Create a POT file from a fieldmapper IDL file
54 devnull = open('/dev/null', 'w')
55 proc = subprocess.Popen(
56 ('python', self.script, '--pot', self.idlfile,
57 '--output', self.savepot),
58 0, None, None, devnull, devnull).wait()
60 # Avoid timestamp mismatches
61 testhelper.mungepothead(self.savepot)
62 testhelper.mungepothead(self.testpot)
64 self.assertEqual(filecmp.cmp(self.savepot, self.testpot), 1)
68 Generate an entity definition file from a PO file
70 devnull = open('/dev/null', 'w')
71 proc = subprocess.Popen(
72 ('python', self.script, '--entity', self.testpo,
73 '--output', self.saveentities),
74 0, None, None, devnull, devnull).wait()
75 self.assertEqual(filecmp.cmp(self.saveentities, self.idlentities), 1)
77 if __name__ == '__main__':