diff options
author | Daiki Ueno <ueno@gnu.org> | 2015-06-23 10:16:25 +0900 |
---|---|---|
committer | Daiki Ueno <ueno@gnu.org> | 2015-06-23 10:27:25 +0900 |
commit | 63f1018df77e1ff9a6adf7c2f32edaadb876b67e (patch) | |
tree | 4d3244d91d4cb979d1523862190ede512b7f9c1e | |
parent | 0b65d1b5bdb30719660022bde9b43709284bf6cd (diff) | |
download | external_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/ChangeLog | 7 | ||||
-rw-r--r-- | gettext-tools/tests/Makefile.am | 5 | ||||
-rw-r--r-- | gettext-tools/tests/common/supplemental/plurals.xml | 10 | ||||
-rwxr-xr-x | gettext-tools/tests/msginit-4 | 80 |
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 |