#! /bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src

# Test that gettext() does basic translation lookup, even when the directory
# with the message catalogs contains arbitrary Unicode characters.

test -d in-6 || mkdir in-6
test -d in-6/fr || mkdir in-6/fr
test -d in-6/fr/LC_MESSAGES || mkdir in-6/fr/LC_MESSAGES

: ${MSGFMT=msgfmt}
${MSGFMT} -o in-6/fr/LC_MESSAGES/tstprog.mo "$wabs_srcdir"/intl-1.po

: ${DIFF=diff}
cat <<EOF > in-6.ok
fromage
EOF

: ${LOCALE_FR=fr_FR}
: ${LOCALE_FR_UTF8=fr_FR.UTF-8}
if test $LOCALE_FR != none; then
  prepare_locale_ in-6/fr in-6/$LOCALE_FR
  ../intl-6-prg in-6 $LOCALE_FR > in-6.tmp || Exit 1
  LC_ALL=C tr -d '\r' < in-6.tmp > in-6.out || Exit 1
  ${DIFF} in-6.ok in-6.out || Exit 1
fi
if test $LOCALE_FR_UTF8 != none; then
  prepare_locale_ in-6/fr in-6/$LOCALE_FR_UTF8
  ../intl-6-prg in-6 $LOCALE_FR_UTF8 > in-6.tmp || Exit 1
  LC_ALL=C tr -d '\r' < in-6.tmp > in-6.out || Exit 1
  ${DIFF} in-6.ok in-6.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
