| #! /bin/sh |
| . "${srcdir=.}/init.sh"; path_prepend_ . ../src |
| |
| # Test ISO C 99 <inttypes.h> format string directives. |
| |
| : ${XGETTEXT=xgettext} |
| ${XGETTEXT} -o fc3.tmp --omit-header --no-location "$wabs_srcdir"/format-c-3-prg.c || Exit 1 |
| LC_ALL=C tr -d '\r' < fc3.tmp > fc3.pot || Exit 1 |
| |
| cat <<EOF > fc3.ok |
| #, c-format |
| msgid "father of %<PRId8> children" |
| msgstr "" |
| EOF |
| |
| : ${DIFF=diff} |
| ${DIFF} fc3.ok fc3.pot || Exit 1 |
| |
| cat <<EOF > fc3-de.po |
| #, c-format |
| msgid "father of %<PRId8> children" |
| msgstr "Vater von %<PRId8> Kindern" |
| EOF |
| |
| test -d fc3-dir || mkdir fc3-dir |
| test -d fc3-dir/fr || mkdir fc3-dir/fr |
| test -d fc3-dir/fr/LC_MESSAGES || mkdir fc3-dir/fr/LC_MESSAGES |
| |
| : ${MSGFMT=msgfmt} |
| ${MSGFMT} -o fc3-dir/fr/LC_MESSAGES/fc3.mo fc3-de.po |
| |
| : ${MSGUNFMT=msgunfmt} |
| ${MSGUNFMT} -o fc3-de.po.tmp fc3-dir/fr/LC_MESSAGES/fc3.mo || Exit 1 |
| LC_ALL=C tr -d '\r' < fc3-de.po.tmp > fc3-de.po.un || Exit 1 |
| |
| : ${DIFF=diff} |
| ${DIFF} fc3-de.po fc3-de.po.un || Exit 1 |
| |
| if test -z "$USE_SYSTEM_LIBINTL"; then |
| # In the tests/ dir: Rely on a fake setlocale, so that we can exercise |
| # the test on all platforms. |
| |
| LANGUAGE= ../fc3 fr_FR || Exit 1 |
| |
| else |
| # In the system-tests/ dir: Don't use a fake setlocale. |
| |
| : ${LOCALE_FR=fr_FR} |
| : ${LOCALE_FR_UTF8=fr_FR.UTF-8} |
| if test $LOCALE_FR != none; then |
| prepare_locale_ fc3-dir/fr fc3-dir/$LOCALE_FR |
| LANGUAGE= ../fc3 $LOCALE_FR || Exit 1 |
| fi |
| if test $LOCALE_FR_UTF8 != none; then |
| prepare_locale_ fc3-dir/fr fc3-dir/$LOCALE_FR_UTF8 |
| LANGUAGE= ../fc3 $LOCALE_FR_UTF8 || Exit 1 |
| fi |
| if test $LOCALE_FR = none && test $LOCALE_FR_UTF8 = none; then |
| if test -f /usr/bin/localedef; then |
| echo "Skipping test: no french locale is installed" |
| else |
| echo "Skipping test: no french locale is supported" |
| fi |
| Exit 77 |
| fi |
| |
| fi |
| |
| Exit 0 |