#! /bin/sh . "${srcdir=.}/init.sh"; path_prepend_ . ../src # Test that bindtextdomain() and wbindtextdomain(), in the same program, # but applied to several different domains, work fine. # Try to find a writable absolute directory name. case "$host_os" in mingw*) # On native Windows, it is important that ${ldir} is an absolute directory, # so that the test exercises a mix between directories specified as 'char *' # and directories specified as 'wchar_t *'. (If we used a relative # directory, the code in dcigettext.c would transform it to a 'wchar_t *'.) if (cygpath --version) >/dev/null 2>/dev/null; then writable=`cygpath -w "$HOME"` else if test -n "${HOMEDRIVE}${HOMEPATH}" && test -w "${HOMEDRIVE}${HOMEPATH}"; then writable="${HOMEDRIVE}${HOMEPATH}" else writable="C:" fi fi ldir="${writable}"'\gettext-intl-7-'$$ trap 'rm -fr "${ldir}"' HUP INT QUIT TERM ;; *) ldir="`pwd`/in-7l" ;; esac test -d "${ldir}" || mkdir "${ldir}" test -d "${ldir}"/fr || mkdir "${ldir}"/fr test -d "${ldir}"/fr/LC_MESSAGES || mkdir "${ldir}"/fr/LC_MESSAGES test -d in-7 || mkdir in-7 test -d in-7/fr || mkdir in-7/fr test -d in-7/fr/LC_MESSAGES || mkdir in-7/fr/LC_MESSAGES test -d in-7/fr_FR || mkdir in-7/fr_FR test -d in-7/fr_FR/LC_MESSAGES || mkdir in-7/fr_FR/LC_MESSAGES cat < in-7l.po msgid "" msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=US-ASCII\n" "Content-Transfer-Encoding: 7-bit\n" msgid "dog" msgstr "chien" EOF cat < in-7-1.po msgid "" msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=US-ASCII\n" "Content-Transfer-Encoding: 7-bit\n" msgid "cheese" msgstr "fromage" EOF cat < in-7-2.po msgid "" msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=US-ASCII\n" "Content-Transfer-Encoding: 7-bit\n" msgid "cheese" msgstr "camembert" EOF cat < in-7-3.po msgid "" msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=US-ASCII\n" "Content-Transfer-Encoding: 7-bit\n" msgid "jam" msgstr "confiture" EOF : ${MSGFMT=msgfmt} ${MSGFMT} -o "${ldir}"/fr/LC_MESSAGES/tstlib.mo in-7l.po ${MSGFMT} -o in-7/fr/LC_MESSAGES/tstfoo.mo in-7-1.po ${MSGFMT} -o in-7/fr_FR/LC_MESSAGES/tstfoo.mo in-7-2.po ${MSGFMT} -o in-7/fr/LC_MESSAGES/tstbar.mo in-7-3.po : ${DIFF=diff} cat < in-7.ok chien confiture camembert EOF : ${LOCALE_FR=fr_FR} : ${LOCALE_FR_UTF8=fr_FR.UTF-8} if test $LOCALE_FR != none; then case "$host_os" in cygwin*) # On Cygwin, file names are interpreted according to the character # encoding of the current locale, see # . # Therefore arbitrary Unicode characters are only supported in UTF-8 # locales (including "C.UTF-8") and in the "C" locale. In particular, # they are not supported in the fr_FR.ISO-8859-1 locale. ;; *) prepare_locale_ in-7/fr in-7/$LOCALE_FR prepare_locale_ in-7/fr_FR in-7/$LOCALE_FR prepare_locale_ "${ldir}"/fr "${ldir}"/$LOCALE_FR ../intl-7-prg "${ldir}" in-7 $LOCALE_FR > in-7.tmp || Exit 1 LC_ALL=C tr -d '\r' < in-7.tmp > in-7.out || Exit 1 ${DIFF} in-7.ok in-7.out || Exit 1 ;; esac fi if test $LOCALE_FR_UTF8 != none; then prepare_locale_ in-7/fr in-7/$LOCALE_FR_UTF8 prepare_locale_ in-7/fr_FR in-7/$LOCALE_FR_UTF8 prepare_locale_ "${ldir}"/fr "${ldir}"/$LOCALE_FR_UTF8 ../intl-7-prg "${ldir}" in-7 $LOCALE_FR_UTF8 > in-7.tmp || Exit 1 LC_ALL=C tr -d '\r' < in-7.tmp > in-7.out || Exit 1 ${DIFF} in-7.ok in-7.out || 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 Exit 0