3 # Perform the following tests:
4 # 1. Generate a POT file from a set of marked SQL statements
5 # 2. Generate an SQL file from a translated PO file
13 class TestSQLFramework(unittest.TestCase):
15 basedir = os.path.dirname(__file__)
16 script = os.path.join(basedir, '../scripts/db-seed-i18n.py')
17 tmpdirs = [(os.path.join(basedir, 'tmp/'))]
18 sqlsource = os.path.join(basedir, 'data/sqlsource.sql')
19 canonpot = os.path.join(basedir, 'data/sql2pot.pot')
20 canonpo = os.path.join(basedir, 'data/sqlsource.po')
21 testpot = os.path.join(basedir, 'tmp/sql2pot.pot')
22 canonsql = os.path.join(basedir, 'data/po2sql.sql')
23 testsql = os.path.join(basedir, 'tmp/testi18n.sql')
26 testhelper.setUp(self)
29 testhelper.tearDown(self)
33 Create a POT file from our test SQL statements.
35 devnull = open('/dev/null', 'w')
36 proc = subprocess.Popen(
37 ('python', self.script, '--pot', self.sqlsource,
38 '--output', self.testpot),
41 # avoid basic timestamp conflicts
42 testhelper.mungepothead(self.testpot)
43 testhelper.mungepothead(self.canonpot)
45 self.assertEqual(filecmp.cmp(self.canonpot, self.testpot), 1)
49 Create a SQL file from a translated PO file.
51 devnull = open('/dev/null', 'w')
52 proc = subprocess.Popen(
53 ('python', self.script, '--sql', self.canonpo,
54 '--locale', 'zz-ZZ', '--output', self.testsql),
55 0, None, None, devnull, devnull).wait()
56 self.assertEqual(filecmp.cmp(self.canonsql, self.testsql), 1)
58 if __name__ == '__main__':