diff options
Diffstat (limited to 'gettext-tools/tests/msgfilter-6')
-rwxr-xr-x | gettext-tools/tests/msgfilter-6 | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/gettext-tools/tests/msgfilter-6 b/gettext-tools/tests/msgfilter-6 new file mode 100755 index 0000000..ddf7869 --- /dev/null +++ b/gettext-tools/tests/msgfilter-6 @@ -0,0 +1,97 @@ +#! /bin/sh +. "${srcdir=.}/init.sh"; path_prepend_ . ../src + +# Test msgfilter on a PO file with plurals. + +cat <<\EOF > mf-test6.po +msgid "" +msgstr "" +"Content-Type: text/plain; charset=ASCII\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#, c-format +msgid "'Your command, please?', asked the waiter." +msgstr "'Votre commande, s'il vous plait', dit le garcon." + +# Les gateaux allemands sont les meilleurs du monde. +#, c-format +#| msgid "a piece of bread" +#| msgid_plural "%d pieces of bread" +msgid "a piece of cake" +msgid_plural "%d pieces of cake" +msgstr[0] "un morceau de gateau" +msgstr[1] "%d morceaux de gateau" + +# Reverse the arguments. +#, c-format +msgid "%s is replaced by %s." +msgstr "%2$s remplace %1$s." +EOF + +: > mf-test6.tmp + +cat <<\EOF > mf-test6.sh +#! /bin/sh +echo "========================= $MSGFILTER_LOCATION =========================" >> mf-test6.tmp +if test -n "${MSGFILTER_MSGCTXT+set}"; then + echo "context: $MSGFILTER_MSGCTXT" >> mf-test6.tmp +fi +cat >> mf-test6.tmp <<MEOF +$MSGFILTER_MSGID +$MSGFILTER_MSGID_PLURAL +$MSGFILTER_PLURAL_FORM +$MSGFILTER_PREV_MSGID +$MSGFILTER_PREV_MSGID_PLURAL +MEOF +cat +EOF +chmod a+x mf-test6.sh + +: ${MSGFILTER=msgfilter} +LC_ALL=C \ +${MSGFILTER} -i mf-test6.po ./mf-test6.sh >/dev/null 2> mf-test6.err +result=$? + +cat mf-test6.err | grep -v 'warning: Locale charset' | grep -v '^ ' +test $result = 0 || { exit 1; } + +LC_ALL=C tr -d '\r' < mf-test6.tmp > mf-test6.out + +cat <<\EOF > mf-test6.ok +========================= mf-test6.po:2 ========================= + + + + + +========================= mf-test6.po:8 ========================= +'Your command, please?', asked the waiter. + + + + +========================= mf-test6.po:16 ========================= +a piece of cake +%d pieces of cake +0 +a piece of bread +%d pieces of bread +========================= mf-test6.po:16 ========================= +a piece of cake +%d pieces of cake +1 +a piece of bread +%d pieces of bread +========================= mf-test6.po:22 ========================= +%s is replaced by %s. + + + + +EOF + +: ${DIFF=diff} +${DIFF} mf-test6.ok mf-test6.out +result=$? + +exit $result |