msgunfmt-java-1 revision 1.1 1 #! /bin/sh
2
3 # Test of --java option.
4
5 # Note: This test fails when using gcj from GCC 3.1 and GCC 3.2, due to a bug
6 # (libgcj/6576). It is fixed in GCC 3.3.
7
8 tmpfiles=""
9 trap 'rm -fr $tmpfiles' 1 2 3 15
10
11 # Test whether we can compile and execute Java programs.
12 test "${JAVA_CHOICE}" != no || {
13 echo "Skipping test: configured with --disable-java"
14 exit 77
15 }
16 test "${BUILDJAVA}" = yes || {
17 echo "Skipping test: Java compiler or jar not found"
18 exit 77
19 }
20 test "${TESTJAVA}" = yes || {
21 echo "Skipping test: Java engine not found"
22 exit 77
23 }
24
25 tmpfiles="$tmpfiles fr.po"
26 cat <<\EOF > fr.po
27 msgid ""
28 msgstr ""
29 "Content-Type: text/plain; charset=ISO-8859-1\n"
30 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
31
32 msgid "'Your command, please?', asked the waiter."
33 msgstr "Votre commande, s'il vous plait, dit le garon."
34
35 # Les gateaux allemands sont les meilleurs du monde.
36 #, java-format
37 msgid "a piece of cake"
38 msgid_plural "{0,number} pieces of cake"
39 msgstr[0] "un morceau de gateau"
40 msgstr[1] "{0,number} morceaux de gateau"
41
42 # Reverse the arguments.
43 #, java-format
44 msgid "{0} is replaced by {1}."
45 msgstr "{1} remplace {0}."
46 EOF
47
48 tmpfiles="$tmpfiles prog_fr.class"
49 : ${MSGFMT=msgfmt}
50 ${MSGFMT} -j -d . -r prog -l fr fr.po || exit 1
51
52 tmpfiles="$tmpfiles prog.out"
53 : ${MSGUNFMT=msgunfmt}
54 CLASSPATH=.${CLASSPATH:+:$CLASSPATH} \
55 GETTEXTJEXEDIR=../src GETTEXTJAR=../src/gettext.jar \
56 ${MSGUNFMT} --java -d . -r prog -l fr -o prog.out || exit 1
57
58 tmpfiles="$tmpfiles prog.sort"
59 : ${MSGCAT=msgcat}
60 ${MSGCAT} -s -o prog.sort prog.out || exit 1
61
62 tmpfiles="$tmpfiles prog.ok"
63 cat <<\EOF > prog.ok
64 msgid ""
65 msgstr ""
66 "Content-Type: text/plain; charset=UTF-8\n"
67 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
68
69 msgid "'Your command, please?', asked the waiter."
70 msgstr "Votre commande, s'il vous plait, dit le garon."
71
72 msgid "a piece of cake"
73 msgid_plural "{0,number} pieces of cake"
74 msgstr[0] "un morceau de gateau"
75 msgstr[1] "{0,number} morceaux de gateau"
76
77 msgid "{0} is replaced by {1}."
78 msgstr "{1} remplace {0}."
79 EOF
80 : ${DIFF=diff}
81 ${DIFF} prog.ok prog.sort || exit 1
82
83 rm -fr $tmpfiles
84
85 exit 0
86