No empty .Rs/.Re
[netbsd-mini2440.git] / gnu / dist / gettext / gettext-tools / tests / xgettext-java-2
blob2287ff4263dbcd42c1bb718b1912784d0c113ab2
1 #!/bin/sh
3 # More tests for java support
6 tmpfiles=""
7 trap 'rm -fr $tmpfiles' 1 2 3 15
9 tmpfiles="$tmpfiles xg-j-2.java"
10 cat <<\EOF > xg-j-2.java
11 class TestCase {
12 public static void main (String[] args) {
13 // Test recognition of \u escapes: Böse Bübchen
14 gettext ("B\u00f6se B\u00fcbchen");
15 // Test recognition of \u escapes with different number of u
16 gettext ("Japanese: \uu65e5\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu672c\u8A9e");
17 // Test recognition of \u escapes when they form UTF-16 surrogates
18 // Here: U+1D49E MATHEMATICAL SCRIPT CAPITAL C
19 gettext ("script \ud835\udc9e = ...");
20 // Test invalid surrogates.
21 gettext ("invalid surrogate \ud835 first half");
22 gettext ("invalid surrogate \udc9e second half");
23 // Don't let the line numbers be confused by \u newlines.
24 \u000a \u000d \u000d\u000a
25 gettext ("embedded\nnewline");
26 // Spaces from end of comment are removed. \u000agettext("dummy");
27 // Various ways to write a backslash are equivalent.
28 gettext ("\u005c\u005c");
29 gettext ("\u005c\");
30 gettext ("\\u005c");
31 gettext ("\\");
32 gettext ("\134");
33 // Escape sequences in strings.
34 gettext ("t -> \t, b -> \b, n -> \n, dquote -> \", squote -> \' ...");
35 // Octal escapes have 2 or 3 digits, depending on the initial digit.
36 gettext ("bel: \7\nnewline: \12backslash: \134\ndquote-zero: \420\n");
37 // Hex escapes are not recognized
38 gettext ("no bel: \x07\n");
39 gettext // Recognized despite comments
40 ( /* Even across multiline
41 comment! */ "this is a single " /* now comes the concatenation! */ + // after +
42 "long line");
43 // Character literals are not extracted.
44 gettext ('x');
45 // Invalid concatenations are not concatenated.
46 gettext ("fooba"+'r');
47 // Verify that the static function name has priority.
48 GettextResource.gettext("NOT extracted", "this one is extracted");
49 // Verify that a comma inside braces is hidden.
50 GettextResource.gettext(
51 new Object() {
52 public int foo () {
53 return 5, 8;
56 "this is the second argument");
59 EOF
61 tmpfiles="$tmpfiles xg-j-2.tmp xg-j-2.pot"
62 : ${XGETTEXT=xgettext}
63 ${XGETTEXT} --from-code=ISO-8859-1 -c -o xg-j-2.tmp xg-j-2.java 2>/dev/null
64 test $? = 0 || { rm -fr $tmpfiles; exit 1; }
65 grep -v 'POT-Creation-Date' < xg-j-2.tmp > xg-j-2.pot
67 tmpfiles="$tmpfiles xg-j-2.ok"
68 cat <<\EOF > xg-j-2.ok
69 # SOME DESCRIPTIVE TITLE.
70 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
71 # This file is distributed under the same license as the PACKAGE package.
72 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
74 #, fuzzy
75 msgid ""
76 msgstr ""
77 "Project-Id-Version: PACKAGE VERSION\n"
78 "Report-Msgid-Bugs-To: \n"
79 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
80 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
81 "Language-Team: LANGUAGE <LL@li.org>\n"
82 "MIME-Version: 1.0\n"
83 "Content-Type: text/plain; charset=UTF-8\n"
84 "Content-Transfer-Encoding: 8bit\n"
86 #. Test recognition of \u escapes: Böse Bübchen
87 #: xg-j-2.java:4
88 msgid "Böse Bübchen"
89 msgstr ""
91 #. Test recognition of \u escapes with different number of u
92 #: xg-j-2.java:6
93 msgid "Japanese: 日本語"
94 msgstr ""
96 #. Test recognition of \u escapes when they form UTF-16 surrogates
97 #. Here: U+1D49E MATHEMATICAL SCRIPT CAPITAL C
98 #: xg-j-2.java:9
99 msgid "script 𝒞 = ..."
100 msgstr ""
102 #. Test invalid surrogates.
103 #: xg-j-2.java:11
104 msgid "invalid surrogate � first half"
105 msgstr ""
107 #: xg-j-2.java:12
108 msgid "invalid surrogate second half"
109 msgstr ""
111 #. Don't let the line numbers be confused by \u newlines.
112 #: xg-j-2.java:15
113 msgid ""
114 "embedded\n"
115 "newline"
116 msgstr ""
118 #. Spaces from end of comment are removed.
119 #: xg-j-2.java:16
120 msgid "dummy"
121 msgstr ""
123 #. Various ways to write a backslash are equivalent.
124 #: xg-j-2.java:18 xg-j-2.java:19 xg-j-2.java:20 xg-j-2.java:21 xg-j-2.java:22
125 msgid "\\"
126 msgstr ""
128 #. Escape sequences in strings.
129 #: xg-j-2.java:24
130 msgid ""
131 "t -> \t, b -> \b, n -> \n"
132 ", dquote -> \", squote -> ' ..."
133 msgstr ""
135 #. Octal escapes have 2 or 3 digits, depending on the initial digit.
136 #: xg-j-2.java:26
137 msgid ""
138 "bel: \a\n"
139 "newline: \n"
140 "backslash: \\\n"
141 "dquote-zero: \"0\n"
142 msgstr ""
144 #. Hex escapes are not recognized
145 #: xg-j-2.java:28
146 msgid "no bel: \\x07\n"
147 msgstr ""
149 #. Recognized despite comments
150 #. Even across multiline
151 #. comment!
152 #: xg-j-2.java:31
153 msgid "this is a single long line"
154 msgstr ""
156 #. Invalid concatenations are not concatenated.
157 #: xg-j-2.java:36
158 msgid "fooba"
159 msgstr ""
161 #. Verify that the static function name has priority.
162 #: xg-j-2.java:38
163 msgid "this one is extracted"
164 msgstr ""
166 #: xg-j-2.java:46
167 msgid "this is the second argument"
168 msgstr ""
171 : ${DIFF=diff}
172 ${DIFF} xg-j-2.ok xg-j-2.pot
173 result=$?
175 rm -fr $tmpfiles
177 exit $result