No empty .Rs/.Re
[netbsd-mini2440.git] / gnu / dist / gettext / gettext-tools / tests / xgettext-csharp-3
blob4a3ee3e75c887cb9bab681531818d02f76682423
1 #!/bin/sh
3 # More tests for C# support: string syntax
5 tmpfiles=""
6 trap 'rm -fr $tmpfiles' 1 2 3 15
8 tmpfiles="$tmpfiles xg-cs-3.cs"
9 tr '%' '\015' <<\EOF > xg-cs-3.cs
10 class TestCase {
11 public static void Main (String[] args) {
12 // Test recognition of \u escapes.
13 GetString ("B\u00f6se B\u00fcbchen");
14 // \u escapes with more than one u are invalid.
15 GetString ("Japanese: \uu65e5\uuu672c\u8A9e");
16 GetString ("embedded\nnewline");
17 // Spaces from end of comment are removed. %GetString("dummy");
18 // Two backslashes (unlike in Java, where this is just one backslash).
19 GetString ("\u005c\u005c");
20 // A 6-character string (unlike in Java, where this is just one backslash).
21 GetString ("\\u005c");
22 // A single backslash.
23 GetString ("\\");
24 // There is only one \u recognition pass.
25 GetString ("\u005cu005c");
26 // Octal escape sequences are not recognized, except for \0.
27 GetString ("\134");
28 // Escape sequences in strings.
29 GetString ("t -> \t, b -> \b, n -> \n, dquote -> \", squote -> \' ...");
30 // Hex escapes are recognized.
31 GetString ("bel: \x07\n");
32 GetString // Recognized despite comments
33 ( /* Even across multiline
34 comment! */ "this is a single " /* now comes the concatenation! */ + // after +
35 "long line");
36 // Verbatim string literals are extracted.
37 GetString (@"verbatim 1");
38 // In verbatim string literals, no escape sequences are recognized.
39 GetString (@"verbatim 2 \u005c \\ \t \b \n \'");
40 // In verbatim string literals, only doubled delimiters are recognized.
41 GetString (@"verbatim 3 ""test");
42 // Normal and verbatim string literals can be concatenated.
43 GetString ("left - \"quot" + @"ation"" - right");
44 // Character literals are not extracted.
45 GetString ('x');
46 // Invalid concatenations are not concatenated.
47 GetString ("fooba"+'r');
48 // Verify that a comma inside braces is hidden.
49 MyGetString (new Object[] { "don't", "fool", "me" }, "this is the second argument");
52 EOF
54 tmpfiles="$tmpfiles xg-cs-3.po"
55 : ${XGETTEXT=xgettext}
56 # delete POT-Creation-Date: line because the date depends on local time.
57 ${XGETTEXT} --output - --add-location -c -kMyGetString:2 xg-cs-3.cs 2>/dev/null \
58 | sed '/\"POT-Creation-Date:.*/d' > xg-cs-3.po
59 test $? = 0 || { rm -fr $tmpfiles; exit 1; }
61 tmpfiles="$tmpfiles xg-cs-3.ok"
62 cat <<\EOF > xg-cs-3.ok
63 # SOME DESCRIPTIVE TITLE.
64 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
65 # This file is distributed under the same license as the PACKAGE package.
66 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
68 #, fuzzy
69 msgid ""
70 msgstr ""
71 "Project-Id-Version: PACKAGE VERSION\n"
72 "Report-Msgid-Bugs-To: \n"
73 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
74 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
75 "Language-Team: LANGUAGE <LL@li.org>\n"
76 "MIME-Version: 1.0\n"
77 "Content-Type: text/plain; charset=UTF-8\n"
78 "Content-Transfer-Encoding: 8bit\n"
80 #. Test recognition of \u escapes.
81 #: xg-cs-3.cs:4
82 msgid "Böse Bübchen"
83 msgstr ""
85 #. \u escapes with more than one u are invalid.
86 #: xg-cs-3.cs:6
87 msgid "Japanese: \\uu65e5\\uuu672c語"
88 msgstr ""
90 #: xg-cs-3.cs:7
91 msgid ""
92 "embedded\n"
93 "newline"
94 msgstr ""
96 #. Spaces from end of comment are removed.
97 #: xg-cs-3.cs:8
98 msgid "dummy"
99 msgstr ""
101 #. Two backslashes (unlike in Java, where this is just one backslash).
102 #: xg-cs-3.cs:10
103 msgid "\\\\"
104 msgstr ""
106 #. A 6-character string (unlike in Java, where this is just one backslash).
107 #. There is only one \u recognition pass.
108 #: xg-cs-3.cs:12 xg-cs-3.cs:16
109 msgid "\\u005c"
110 msgstr ""
112 #. A single backslash.
113 #: xg-cs-3.cs:14
114 msgid "\\"
115 msgstr ""
117 #. Octal escape sequences are not recognized, except for \0.
118 #: xg-cs-3.cs:18
119 msgid "\\134"
120 msgstr ""
122 #. Escape sequences in strings.
123 #: xg-cs-3.cs:20
124 msgid ""
125 "t -> \t, b -> \b, n -> \n"
126 ", dquote -> \", squote -> ' ..."
127 msgstr ""
129 #. Hex escapes are recognized.
130 #: xg-cs-3.cs:22
131 msgid "bel: \a\n"
132 msgstr ""
134 #. Recognized despite comments
135 #. Even across multiline
136 #. comment!
137 #: xg-cs-3.cs:25
138 msgid "this is a single long line"
139 msgstr ""
141 #. Verbatim string literals are extracted.
142 #: xg-cs-3.cs:28
143 msgid "verbatim 1"
144 msgstr ""
146 #. In verbatim string literals, no escape sequences are recognized.
147 #: xg-cs-3.cs:30
148 msgid "verbatim 2 \\u005c \\\\ \\t \\b \\n \\'"
149 msgstr ""
151 #. In verbatim string literals, only doubled delimiters are recognized.
152 #: xg-cs-3.cs:32
153 msgid "verbatim 3 \"test"
154 msgstr ""
156 #. Normal and verbatim string literals can be concatenated.
157 #: xg-cs-3.cs:34
158 msgid "left - \"quotation\" - right"
159 msgstr ""
161 #. Invalid concatenations are not concatenated.
162 #: xg-cs-3.cs:38
163 msgid "fooba"
164 msgstr ""
166 #. Verify that a comma inside braces is hidden.
167 #: xg-cs-3.cs:40
168 msgid "this is the second argument"
169 msgstr ""
172 : ${DIFF=diff}
173 ${DIFF} xg-cs-3.ok xg-cs-3.po
174 result=$?
176 rm -fr $tmpfiles
178 exit $result