diff options
author | Shaun McCance <shaunm@gnome.org> | 2012-05-11 13:06:22 -0400 |
---|---|---|
committer | Shaun McCance <shaunm@gnome.org> | 2012-05-11 13:06:22 -0400 |
commit | 4690db4df453dd79cc8df1bdf0ba49475fb6c83c (patch) | |
tree | 31eb0ebd7e3eefb30d778df40388473fbcf3eabd | |
parent | 124f58219a33677f010f4e56fe09d0fb389d2b52 (diff) | |
download | itstool-4690db4df453dd79cc8df1bdf0ba49475fb6c83c.tar.gz |
tests: Adding regression test for join mode
-rw-r--r-- | tests/IT-join-1.cs.po | 46 | ||||
-rw-r--r-- | tests/IT-join-1.de.po | 46 | ||||
-rw-r--r-- | tests/IT-join-1.fr.po | 46 | ||||
-rw-r--r-- | tests/IT-join-1.ll.xml | 18 | ||||
-rw-r--r-- | tests/IT-join-1.pot | 46 | ||||
-rw-r--r-- | tests/IT-join-1.xml | 19 | ||||
-rw-r--r-- | tests/run_tests.py | 27 |
7 files changed, 248 insertions, 0 deletions
diff --git a/tests/IT-join-1.cs.po b/tests/IT-join-1.cs.po new file mode 100644 index 0000000..e3b8e03 --- /dev/null +++ b/tests/IT-join-1.cs.po @@ -0,0 +1,46 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2012-05-08 15:13-0400\n" +"PO-Revision-Date: 2012-05-08 21:32+0200\n" +"Last-Translator: Andre Klapper <ak-47@gmx.net>\n" +"Language-Team: Czech <cs@example.com>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. (itstool) path: catalog/message +#: IT-join-1.xml:7 +msgid "This is a plain message." +msgstr "To je jednoduchý zpráva." + +#. (itstool) path: catalog/message +#: IT-join-1.xml:8 +msgid "This message uses a prefix." +msgstr "Tato zpráva ma předpona." + +#. (itstool) path: catalog/alert +#: IT-join-1.xml:9 +msgid "This message is in another namespace." +msgstr "Tato zpráva ma jiný jmenný prostor." + +#. (itstool) path: holder/message +#: IT-join-1.xml:11 +msgid "This message is in a holder element." +msgstr "Tato zpráva je uvnitř okolního prvku." + +#. (itstool) path: message/footnote +#: IT-join-1.xml:14 +msgid "footnote" +msgstr "Poznámka pod čarou" + +#. (itstool) path: holder/message +#: IT-join-1.xml:14 +msgid "This message has a block <_:footnote-1/>." +msgstr "Tato zpráva ma blok <_:footnote-1/>." + +#. (itstool) path: holder/message +#: IT-join-1.xml:17 +msgid "This message has some <span>inline markup</span>." +msgstr "Tato zpráva ma <span>vložený značky</span>." + diff --git a/tests/IT-join-1.de.po b/tests/IT-join-1.de.po new file mode 100644 index 0000000..1f6098a --- /dev/null +++ b/tests/IT-join-1.de.po @@ -0,0 +1,46 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2012-05-08 15:13-0400\n" +"PO-Revision-Date: 2012-05-08 21:22+0200\n" +"Last-Translator: Andre Klapper <ak-47@gmx.net>\n" +"Language-Team: German <de@example.com>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. (itstool) path: catalog/message +#: IT-join-1.xml:7 +msgid "This is a plain message." +msgstr "Dies ist eine einfache Nachricht." + +#. (itstool) path: catalog/message +#: IT-join-1.xml:8 +msgid "This message uses a prefix." +msgstr "Diese Nachricht nutzt einen Präfix." + +#. (itstool) path: catalog/alert +#: IT-join-1.xml:9 +msgid "This message is in another namespace." +msgstr "Diese Nachricht ist in einem anderen Namensraum." + +#. (itstool) path: holder/message +#: IT-join-1.xml:11 +msgid "This message is in a holder element." +msgstr "Diese Nachricht ist in einem umgebenden Element." + +#. (itstool) path: message/footnote +#: IT-join-1.xml:14 +msgid "footnote" +msgstr "Fußnote" + +#. (itstool) path: holder/message +#: IT-join-1.xml:14 +msgid "This message has a block <_:footnote-1/>." +msgstr "Diese Nachricht hat einen Block <_:footnote-1/>." + +#. (itstool) path: holder/message +#: IT-join-1.xml:17 +msgid "This message has some <span>inline markup</span>." +msgstr "Diese Nachricht hat <span>eingebettetes Markup</span>." + diff --git a/tests/IT-join-1.fr.po b/tests/IT-join-1.fr.po new file mode 100644 index 0000000..312861a --- /dev/null +++ b/tests/IT-join-1.fr.po @@ -0,0 +1,46 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2012-05-08 15:13-0400\n" +"PO-Revision-Date: 2012-05-08 21:26+0100\n" +"Last-Translator: Baptiste Mille-Mathias <baptistem@gnome.org>\n" +"Language-Team: GNOME French Team <gnomefr@traduc.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. (itstool) path: catalog/message +#: IT-join-1.xml:7 +msgid "This is a plain message." +msgstr "Ceci est un message clair." + +#. (itstool) path: catalog/message +#: IT-join-1.xml:8 +msgid "This message uses a prefix." +msgstr "Ce message utilise un préfixe." + +#. (itstool) path: catalog/alert +#: IT-join-1.xml:9 +msgid "This message is in another namespace." +msgstr "Ce message se trouve dans un autre espace de nommage." + +#. (itstool) path: holder/message +#: IT-join-1.xml:11 +msgid "This message is in a holder element." +msgstr "Ce message est un message porteur." + +#. (itstool) path: message/footnote +#: IT-join-1.xml:14 +msgid "footnote" +msgstr "Note de bas de page" + +#. (itstool) path: holder/message +#: IT-join-1.xml:14 +msgid "This message has a block <_:footnote-1/>." +msgstr "Ce message à un bloc <_:footnote-1/>." + +#. (itstool) path: holder/message +#: IT-join-1.xml:17 +msgid "This message has some <span>inline markup</span>." +msgstr "Ce message à quelque <span>balise en ligne</span>." + diff --git a/tests/IT-join-1.ll.xml b/tests/IT-join-1.ll.xml new file mode 100644 index 0000000..0ee8a15 --- /dev/null +++ b/tests/IT-join-1.ll.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<catalog xmlns="http://example.com/catalog/" xmlns:cat="http://example.com/catalog/" xmlns:extra="http://example.com/catalog/extra/"> + <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0"> + <its:withinTextRule selector="//cat:span" withinText="yes"/> + </its:rules> + <message>This is a plain message.</message><message xml:lang="cs">To je jednoduchý zpráva.</message><message xml:lang="de">Dies ist eine einfache Nachricht.</message><message xml:lang="fr">Ceci est un message clair.</message> + <cat:message>This message uses a prefix.</cat:message><cat:message xml:lang="cs">Tato zpráva ma předpona.</cat:message><cat:message xml:lang="de">Diese Nachricht nutzt einen Präfix.</cat:message><cat:message xml:lang="fr">Ce message utilise un préfixe.</cat:message> + <extra:alert>This message is in another namespace.</extra:alert><extra:alert xml:lang="cs">Tato zpráva ma jiný jmenný prostor.</extra:alert><extra:alert xml:lang="de">Diese Nachricht ist in einem anderen Namensraum.</extra:alert><extra:alert xml:lang="fr">Ce message se trouve dans un autre espace de nommage.</extra:alert> + <holder> + <message>This message is in a holder element.</message><message xml:lang="cs">Tato zpráva je uvnitř okolního prvku.</message><message xml:lang="de">Diese Nachricht ist in einem umgebenden Element.</message><message xml:lang="fr">Ce message est un message porteur.</message> + </holder> + <holder> + <message>This message has a block <footnote>footnote</footnote>.</message><message xml:lang="cs">Tato zpráva ma blok <footnote>Poznámka pod čarou</footnote>.</message><message xml:lang="de">Diese Nachricht hat einen Block <footnote>Fußnote</footnote>.</message><message xml:lang="fr">Ce message à un bloc <footnote>Note de bas de page</footnote>.</message> + </holder> + <holder> + <message>This message has some <span>inline markup</span>.</message><message xml:lang="cs">Tato zpráva ma <span>vložený značky</span>.</message><message xml:lang="de">Diese Nachricht hat <span>eingebettetes Markup</span>.</message><message xml:lang="fr">Ce message à quelque <span>balise en ligne</span>.</message> + </holder> +</catalog> diff --git a/tests/IT-join-1.pot b/tests/IT-join-1.pot new file mode 100644 index 0000000..c9e9fe4 --- /dev/null +++ b/tests/IT-join-1.pot @@ -0,0 +1,46 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2012-05-08 15:15-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. (itstool) path: catalog/message +#: tests/IT-join-1.xml:7 +msgid "This is a plain message." +msgstr "" + +#. (itstool) path: catalog/message +#: tests/IT-join-1.xml:8 +msgid "This message uses a prefix." +msgstr "" + +#. (itstool) path: catalog/alert +#: tests/IT-join-1.xml:9 +msgid "This message is in another namespace." +msgstr "" + +#. (itstool) path: holder/message +#: tests/IT-join-1.xml:11 +msgid "This message is in a holder element." +msgstr "" + +#. (itstool) path: message/footnote +#: tests/IT-join-1.xml:14 +msgid "footnote" +msgstr "" + +#. (itstool) path: holder/message +#: tests/IT-join-1.xml:14 +msgid "This message has a block <_:footnote-1/>." +msgstr "" + +#. (itstool) path: holder/message +#: tests/IT-join-1.xml:17 +msgid "This message has some <span>inline markup</span>." +msgstr "" + diff --git a/tests/IT-join-1.xml b/tests/IT-join-1.xml new file mode 100644 index 0000000..6f652bc --- /dev/null +++ b/tests/IT-join-1.xml @@ -0,0 +1,19 @@ +<catalog xmlns="http://example.com/catalog/" + xmlns:cat="http://example.com/catalog/" + xmlns:extra="http://example.com/catalog/extra/"> + <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0"> + <its:withinTextRule selector="//cat:span" withinText="yes"/> + </its:rules> + <message>This is a plain message.</message> + <cat:message>This message uses a prefix.</cat:message> + <extra:alert>This message is in another namespace.</extra:alert> + <holder> + <message>This message is in a holder element.</message> + </holder> + <holder> + <message>This message has a block <footnote>footnote</footnote>.</message> + </holder> + <holder> + <message>This message has some <span>inline markup</span>.</message> + </holder> +</catalog> diff --git a/tests/run_tests.py b/tests/run_tests.py index ffc140b..5c108e5 100644 --- a/tests/run_tests.py +++ b/tests/run_tests.py @@ -44,6 +44,30 @@ class ItstoolTests(unittest.TestCase): self.assertFilesEqual(os.path.join(TEST_DIR, "test.pot"), os.path.join(TEST_DIR, reference_pot)) return result + def _test_translation_join(self, start_file, langs, xml_file=None): + start_file_base = os.path.splitext(start_file)[0] + self._test_pot_generation(start_file) + + for lang in langs: + po_file = '%s.%s.po' % (start_file_base, lang) + mo_file = '%s.mo' % lang + self.run_command("cd %(dir)s && msgfmt -o %(mo_file)s %(po_file)s" % + {'dir': TEST_DIR, 'mo_file': mo_file, 'po_file': po_file}) + result = self.run_command("cd %(dir)s && python itstool_test -o%(res)s -j %(src)s %(mo)s" % { + 'dir': ITSTOOL_DIR, + 'res': os.path.join(TEST_DIR, 'test.xml'), + 'src': os.path.join(TEST_DIR, start_file), + 'mo': ' '.join([os.path.join(TEST_DIR, '%s.mo' % lang) for lang in langs]) + }) + if xml_file is None: + xml_file = '%s.ll.xml' % start_file_base + self.assertFilesEqual( + os.path.join(TEST_DIR, 'test.xml'), + os.path.join(TEST_DIR, xml_file) + ) + return result + + def _test_translation_process(self, start_file, expected_status=0, po_file=None, xml_file=None, options=None): start_file_base = os.path.splitext(start_file)[0] self._test_pot_generation(start_file) @@ -152,6 +176,9 @@ class ItstoolTests(unittest.TestCase): res = self._test_pot_generation('IT-malformed.xml', expected_status=1) #self.assertTrue("libxml2.parserError" in res['errors']) + def test_IT_join_1(self): + res = self._test_translation_join('IT-join-1.xml', ('cs', 'de', 'fr')) + def test_Translate3_wrong1(self): """ Test that bad XML syntax in translation generates a proper exception """ res = self._test_translation_process('Translate3.xml', expected_status=1, |