• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/ap/gpl/timemachine/gettext-0.17/gettext-tools/tests/
1#! /bin/sh
2
3# Test of gettext facilities in the librep language.
4# Assumes an fr_FR locale is installed.
5# Assumes the following packages are installed: librep.
6
7tmpfiles=""
8trap 'rm -fr $tmpfiles' 1 2 3 15
9
10tmpfiles="$tmpfiles prog.jl"
11cat <<\EOF > prog.jl
12(require 'rep.i18n.gettext)
13
14(textdomain "prog")
15(bindtextdomain "prog" ".")
16
17(format standard-output "%s\n" (_ "'Your command, please?', asked the waiter."))
18
19(format standard-output "%s\n"
20        (format nil (_ "%s is replaced by %s.") "FF" "EUR"))
21EOF
22
23tmpfiles="$tmpfiles prog.tmp prog.pot"
24: ${XGETTEXT=xgettext}
25${XGETTEXT} -o prog.tmp --omit-header --no-location prog.jl
26test $? = 0 || { rm -fr $tmpfiles; exit 1; }
27tr -d '\r' < prog.tmp > prog.pot
28test $? = 0 || { rm -fr $tmpfiles; exit 1; }
29
30tmpfiles="$tmpfiles prog.ok"
31cat <<EOF > prog.ok
32msgid "'Your command, please?', asked the waiter."
33msgstr ""
34
35#, librep-format
36msgid "%s is replaced by %s."
37msgstr ""
38EOF
39
40: ${DIFF=diff}
41${DIFF} prog.ok prog.pot || exit 1
42
43tmpfiles="$tmpfiles fr.po"
44cat <<\EOF > fr.po
45msgid ""
46msgstr ""
47"Content-Type: text/plain; charset=ISO-8859-1\n"
48"Plural-Forms: nplurals=2; plural=(n > 1);\n"
49
50msgid "'Your command, please?', asked the waiter."
51msgstr "�Votre commande, s'il vous plait�, dit le garon."
52
53# Reverse the arguments.
54#, librep-format
55msgid "%s is replaced by %s."
56msgstr "%2$s remplace %1$s."
57EOF
58
59tmpfiles="$tmpfiles fr.po.tmp fr.po.new"
60: ${MSGMERGE=msgmerge}
61${MSGMERGE} -q -o fr.po.tmp fr.po prog.pot
62test $? = 0 || { rm -fr $tmpfiles; exit 1; }
63tr -d '\r' < fr.po.tmp > fr.po.new
64test $? = 0 || { rm -fr $tmpfiles; exit 1; }
65
66: ${DIFF=diff}
67${DIFF} fr.po fr.po.new || exit 1
68
69tmpfiles="$tmpfiles fr"
70test -d fr || mkdir fr
71test -d fr/LC_MESSAGES || mkdir fr/LC_MESSAGES
72
73: ${MSGFMT=msgfmt}
74${MSGFMT} -o fr/LC_MESSAGES/prog.mo fr.po
75
76# Test for presence of rep version 0.15.3 or newer.
77(rep --version) >/dev/null 2>/dev/null \
78  || { echo "Skipping test: rep not found"; rm -fr $tmpfiles; exit 77; }
79case `rep --version | sed -e 's/^[^0-9]*//'` in
80  0.[0-9] | 0.1[0-5] | 0.[0-9].* | 0.1[0-4].* | 0.15.[0-2] )
81    echo "Skipping test: rep version too old"; rm -fr $tmpfiles; exit 77;;
82esac
83
84# Test which of the fr_FR locales are installed.
85: ${LOCALE_FR=fr_FR}
86: ${LOCALE_FR_UTF8=fr_FR.UTF-8}
87if test $LOCALE_FR != none; then
88  LC_ALL=$LOCALE_FR ./testlocale
89  case $? in
90    0) ;;
91    77) LOCALE_FR=none;;
92    *) exit 1;;
93  esac
94fi
95if test $LOCALE_FR_UTF8 != none; then
96  LC_ALL=$LOCALE_FR_UTF8 ./testlocale
97  case $? in
98    0) ;;
99    77) LOCALE_FR_UTF8=none;;
100    *) exit 1;;
101  esac
102fi
103if test $LOCALE_FR = none && test $LOCALE_FR_UTF8 = none; then
104  if test -f /usr/bin/localedef; then
105    echo "Skipping test: no french locale is installed"
106  else
107    echo "Skipping test: no french locale is supported"
108  fi
109  rm -fr $tmpfiles; exit 77
110fi
111
112tmpfiles="$tmpfiles prog.ok prog.oku prog.out"
113: ${DIFF=diff}
114cat <<\EOF > prog.ok
115�Votre commande, s'il vous plait�, dit le gar�on.
116EUR remplace FF.
117EOF
118cat <<\EOF > prog.oku
119��Votre commande, s'il vous plait��, dit le gar��on.
120EUR remplace FF.
121EOF
122
123: ${LOCALE_FR=fr_FR}
124: ${LOCALE_FR_UTF8=fr_FR.UTF-8}
125if test $LOCALE_FR != none; then
126  LANGUAGE= LC_ALL=$LOCALE_FR rep --no-rc --batch prog.jl > prog.out || exit 1
127  ${DIFF} prog.ok prog.out || exit 1
128fi
129if test $LOCALE_FR_UTF8 != none; then
130  LANGUAGE= LC_ALL=$LOCALE_FR_UTF8 rep --no-rc --batch prog.jl > prog.out || exit 1
131  ${DIFF} prog.oku prog.out || exit 1
132fi
133
134rm -fr $tmpfiles
135
136exit 0
137