summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2015-06-23 10:16:25 +0900
committerDaiki Ueno <ueno@gnu.org>2015-06-23 10:27:25 +0900
commit63f1018df77e1ff9a6adf7c2f32edaadb876b67e (patch)
tree4d3244d91d4cb979d1523862190ede512b7f9c1e
parent0b65d1b5bdb30719660022bde9b43709284bf6cd (diff)
downloadexternal_gettext-63f1018df77e1ff9a6adf7c2f32edaadb876b67e.zip
external_gettext-63f1018df77e1ff9a6adf7c2f32edaadb876b67e.tar.gz
external_gettext-63f1018df77e1ff9a6adf7c2f32edaadb876b67e.tar.bz2
tests: Add test for msginit CLDR support
* gettext-tools/tests/msginit-4: New file. * gettext-tools/tests/common/supplemental/plurals.xml: New data file. * gettext-tools/tests/Makefile.am (TESTS): Add new tests. (EXTRA_DIST): Add new data file.
-rw-r--r--gettext-tools/tests/ChangeLog7
-rw-r--r--gettext-tools/tests/Makefile.am5
-rw-r--r--gettext-tools/tests/common/supplemental/plurals.xml10
-rwxr-xr-xgettext-tools/tests/msginit-480
4 files changed, 100 insertions, 2 deletions
diff --git a/gettext-tools/tests/ChangeLog b/gettext-tools/tests/ChangeLog
index 4b3b9a5..285a91a 100644
--- a/gettext-tools/tests/ChangeLog
+++ b/gettext-tools/tests/ChangeLog
@@ -1,3 +1,10 @@
+2015-06-23 Daiki Ueno <ueno@gnu.org>
+
+ * msginit-4: New file.
+ * common/supplemental/plurals.xml: New data file.
+ * Makefile.am (TESTS): Add new tests.
+ (EXTRA_DIST): Add new data file.
+
2015-06-22 Daiki Ueno <ueno@gnu.org>
* cldr-plurals-1: New file.
diff --git a/gettext-tools/tests/Makefile.am b/gettext-tools/tests/Makefile.am
index 6cc40a2..1526d77 100644
--- a/gettext-tools/tests/Makefile.am
+++ b/gettext-tools/tests/Makefile.am
@@ -53,7 +53,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
msgfmt-desktop-1 msgfmt-desktop-2 \
msggrep-1 msggrep-2 msggrep-3 msggrep-4 msggrep-5 msggrep-6 msggrep-7 \
msggrep-8 msggrep-9 msggrep-10 msggrep-11 \
- msginit-1 msginit-2 msginit-3 \
+ msginit-1 msginit-2 msginit-3 msginit-4 \
msgmerge-1 msgmerge-2 msgmerge-3 msgmerge-4 msgmerge-5 msgmerge-6 \
msgmerge-7 msgmerge-8 msgmerge-9 msgmerge-10 msgmerge-11 msgmerge-12 \
msgmerge-13 msgmerge-14 msgmerge-15 msgmerge-16 msgmerge-17 \
@@ -160,7 +160,8 @@ EXTRA_DIST += init.sh init.cfg $(TESTS) \
gettext-6-1.po gettext-6-2.po gettext-7.po \
gettextpo-1.de.po \
xgettext-1 \
- xgettext-c-1
+ xgettext-c-1 \
+ common/supplemental/plurals.xml
XGETTEXT = ../src/xgettext
diff --git a/gettext-tools/tests/common/supplemental/plurals.xml b/gettext-tools/tests/common/supplemental/plurals.xml
new file mode 100644
index 0000000..3a987fe
--- /dev/null
+++ b/gettext-tools/tests/common/supplemental/plurals.xml
@@ -0,0 +1,10 @@
+<supplementalData>
+ <plurals type="cardinal">
+ <pluralRules locales="foo">
+ <pluralRule count="one">v = 0 and i % 10 = 1 and i % 100 != 11 @integer 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …</pluralRule>
+ <pluralRule count="few">v = 0 and i % 10 = 2..4 and i % 100 != 12..14 @integer 2~4, 22~24, 32~34, 42~44, 52~54, 62, 102, 1002, …</pluralRule>
+ <pluralRule count="many">v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14 @integer 0, 5~19, 100, 1000, 10000, 100000, 1000000, …</pluralRule>
+ <pluralRule count="other"> @decimal 0.0~1.5, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, …</pluralRule>
+ </pluralRules>
+ </plurals>
+</supplementalData>
diff --git a/gettext-tools/tests/msginit-4 b/gettext-tools/tests/msginit-4
new file mode 100755
index 0000000..c0f8bb4
--- /dev/null
+++ b/gettext-tools/tests/msginit-4
@@ -0,0 +1,80 @@
+#! /bin/sh
+. "${srcdir=.}/init.sh"; path_prepend_ . ../src
+
+# Test filling Plural-Forms: with Unicode CLDR
+cat <<\EOF > mi-test4.pot
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \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"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#, c-format
+msgid "'Your command, please?', asked the waiter."
+msgstr ""
+
+#, c-format
+msgid "a piece of cake"
+msgid_plural "%d pieces of cake"
+msgstr[0] ""
+msgstr[1] ""
+
+#, c-format
+msgid "%s is replaced by %s."
+msgstr ""
+EOF
+
+: ${MSGINIT=msginit}
+GETTEXTLIBDIR="$top_builddir"/src GETTEXTCLDRDIR="$abs_srcdir" ${MSGINIT} -l foo --no-translator --no-wrap -o mi-test4.tmp 2>mi-test4.err
+test $? = 0 || { cat mi-test4.err 1>&2; exit 1; }
+
+grep "Project-Id-Version: gt-msginit " mi-test4.tmp 2>&1 >/dev/null || exit 1
+
+# The charset stored in the header entry is the locale encoding of the gl_IE
+# locale, which is system dependent, or ASCII if the locale does not exist.
+#
+# Project-Id-Version contains version constructed from a temporary
+# directory name
+sed -e '1,10d' -e 's/\(ISO-8859-1\|CP1252\|UTF-8\)/ASCII/g' < mi-test4.tmp | grep -v Project-Id-Version | LC_ALL=C tr -d '\r' > mi-test4.out || exit 1
+cat <<\EOF > mi-test4.ok
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: foo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ASCII\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
+
+#, c-format
+msgid "'Your command, please?', asked the waiter."
+msgstr ""
+
+#, c-format
+msgid "a piece of cake"
+msgid_plural "%d pieces of cake"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+#, c-format
+msgid "%s is replaced by %s."
+msgstr ""
+EOF
+
+: ${DIFF=diff}
+${DIFF} mi-test4.ok mi-test4.out
+result=$?
+
+exit $result