summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun McCance <shaunm@gnome.org>2012-05-11 13:06:22 -0400
committerShaun McCance <shaunm@gnome.org>2012-05-11 13:06:22 -0400
commit4690db4df453dd79cc8df1bdf0ba49475fb6c83c (patch)
tree31eb0ebd7e3eefb30d778df40388473fbcf3eabd
parent124f58219a33677f010f4e56fe09d0fb389d2b52 (diff)
downloaditstool-4690db4df453dd79cc8df1bdf0ba49475fb6c83c.tar.gz
tests: Adding regression test for join mode
-rw-r--r--tests/IT-join-1.cs.po46
-rw-r--r--tests/IT-join-1.de.po46
-rw-r--r--tests/IT-join-1.fr.po46
-rw-r--r--tests/IT-join-1.ll.xml18
-rw-r--r--tests/IT-join-1.pot46
-rw-r--r--tests/IT-join-1.xml19
-rw-r--r--tests/run_tests.py27
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,