a4e36580e8b39462fe1edd12334162d251bf199a
[perl.git] / t / lib / charnames / alias
1 Tests for use charnames with compilation errors and aliases.
2 __END__
3 # NAME illegal :pragma
4 use warnings;
5 use charnames ":scoobydoo";
6 "Here: \N{e_ACUTE}!\n";
7 EXPECT
8 OPTIONS regex
9 unsupported special ':scoobydoo' in charnames at
10 ########
11 # NAME autoload doesn't get vianame
12 print "Here: \N{DIGIT ONE}\n";
13 charnames::vianame("DIGIT TWO");
14 EXPECT
15 Undefined subroutine &charnames::vianame called at - line 2.
16 Here: 1
17 ########
18 # NAME autoload doesn't get viacode
19 print "Here: \N{DIGIT THREE}\n";
20 charnames::viacode(0x34);
21 EXPECT
22 OPTIONS regex
23 Undefined subroutine &charnames::viacode called at - line 2.
24 Here: 3
25 ########
26 # NAME autoload doesn't get string_vianame
27 print "Here: \N{DIGIT FOUR}\n";
28 charnames::string_vianame("DIGIT FIVE");
29 EXPECT
30 OPTIONS regex
31 Undefined subroutine &charnames::string_vianame called at - line 2.
32 Here: 4
33 ########
34 # NAME wrong type of alias (missing colon)
35 no warnings;
36 use charnames "alias";
37 "Here: \N{e_ACUTE}!\n";
38 EXPECT
39 OPTIONS random fatal
40 Unknown charname 'e_ACUTE' at - line 3, within string
41 Execution of - aborted due to compilation errors.
42 ########
43 # NAME alias without an argument
44 use warnings;
45 use charnames ":alias";
46 "Here: \N{e_ACUTE}!\n";
47 EXPECT
48 OPTIONS regex
49 :alias needs an argument in charnames at
50 ########
51 # NAME reversed sequence
52 use warnings;
53 use charnames ":alias" => ":full";
54 "Here: \N{e_ACUTE}!\n";
55 EXPECT
56 OPTIONS regex
57 :alias cannot use existing pragma :full \(reversed order\?\) at
58 ########
59 # NAME alias with hashref but no :full
60 use warnings;
61 use charnames ":alias" => { e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE" };
62 "Here: \N{e_ACUTE}!\n";
63 EXPECT
64 OPTIONS random fatal
65 Use of uninitialized value at - line 3.
66 Unknown charname 'e_ACUTE' at - line 3, within string
67 Execution of - aborted due to compilation errors.
68 ########
69 # NAME alias with hashref but with :short
70 use warnings;
71 no warnings 'void';
72 use charnames ":short", ":alias" => { e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE" };
73 "Here: \N{e_ACUTE}!\n";
74 EXPECT
75 OPTIONS random fatal
76 Use of uninitialized value at - line 4.
77 Unknown charname 'e_ACUTE' at - line 4, within string
78 Execution of - aborted due to compilation errors.
79 ########
80 # NAME alias with hashref to :full OK
81 use warnings;
82 no warnings 'void';
83 use charnames ":full", ":alias" => { e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE" };
84 "Here: \N{e_ACUTE}!\n";
85 EXPECT
86 OPTIONS regex
87 $
88 ########
89 # NAME alias with hashref to :loose OK
90 use warnings;
91 no warnings 'void';
92 use charnames ":loose", ":alias" => { e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE" };
93 "Here: \N{e_ACUTE}!\n";
94 EXPECT
95 OPTIONS regex
96 $
97 ########
98 # NAME alias with :loose requires :full type name
99 use warnings;
100 no warnings 'void';
101 use charnames ":loose", ":alias" => { e_ACUTE => "latin SMALL LETTER E WITH ACUTE" };
102 "Here: \N{e_ACUTE}!\n";
103 EXPECT
104 OPTIONS random fatal
105 Use of uninitialized value at - line 4.
106 Unknown charname 'e_ACUTE' at - line 4, within string
107 Execution of - aborted due to compilation errors.
108 ########
109 # NAME alias with hashref to :short but using :full
110 use warnings;
111 no warnings 'void';
112 use charnames ":full", ":alias" => { e_ACUTE => "LATIN:e WITH ACUTE" };
113 "Here: \N{e_ACUTE}!\n";
114 EXPECT
115 OPTIONS random fatal
116 Use of uninitialized value at - line 4.
117 Unknown charname 'e_ACUTE' at - line 4, within string
118 Execution of - aborted due to compilation errors.
119 ########
120 # NAME alias with hashref to :short OK
121 use warnings;
122 no warnings 'void';
123 use charnames ":short", ":alias" => { e_ACUTE => "LATIN:e WITH ACUTE" };
124 "Here: \N{e_ACUTE}!\n";
125 EXPECT
126 OPTIONS regex
127 $
128 ########
129 # NAME alias with bad hashref
130 use warnings;
131 no warnings 'void';
132 use charnames ":short", ":alias" => "e_ACUTE";
133 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
134 EXPECT
135 OPTIONS regex
136 unicore/e_ACUTE_alias.pl cannot be used as alias file for charnames at
137 ########
138 # NAME alias with arrayref
139 use warnings;
140 no warnings 'void';
141 use charnames ":short", ":alias" => [ e_ACUTE => "LATIN:e WITH ACUTE" ];
142 "Here: \N{e_ACUTE}!\n";
143 EXPECT
144 OPTIONS regex
145 Only HASH reference supported as argument to :alias at
146 ########
147 # NAME alias with bad hashref
148 no warnings;
149 use charnames ":short", ":alias" => { e_ACUTE => "LATIN:e WITH ACUTE", "a_ACUTE" };
150 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
151 EXPECT
152 OPTIONS regex
153 Unknown charname 'a_ACUTE' at
154 ########
155 # NAME alias with hashref two aliases
156 use warnings;
157 no warnings 'void';
158 use charnames ":short", ":alias" => {
159     e_ACUTE => "LATIN:e WITH ACUTE",
160     a_ACUTE => "",
161     };
162 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
163 EXPECT
164 OPTIONS random fatal
165 Use of uninitialized value at - line 7.
166 Unknown charname 'a_ACUTE' at - line 7, within string
167 Execution of - aborted due to compilation errors.
168 ########
169 # NAME alias with hashref two aliases
170 use warnings;
171 no warnings 'void';
172 use charnames ":short", ":alias" => {
173     e_ACUTE => "LATIN:e WITH ACUTE",
174     a_ACUTE => "LATIN:a WITH ACUTE",
175     };
176 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
177 EXPECT
178 OPTIONS regex
179 $
180 ########
181 # NAME alias with hashref using mixed aliases
182 use warnings;
183 use charnames ":short", ":alias" => {
184     e_ACUTE => "LATIN:e WITH ACUTE",
185     a_ACUTE => "LATIN SMALL LETTER A WITH ACUT",
186     };
187 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
188 EXPECT
189 OPTIONS random fatal
190 Use of uninitialized value at - line 6.
191 Unknown charname 'a_ACUTE' at - line 6, within string
192 Execution of - aborted due to compilation errors.
193 ########
194 # NAME alias with hashref using mixed aliases
195 use warnings;
196 use charnames ":short", ":alias" => {
197     e_ACUTE => "LATIN:e WITH ACUTE",
198     a_ACUTE => "LATIN SMALL LETTER A WITH ACUTE",
199     };
200 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
201 EXPECT
202 OPTIONS random fatal
203 Use of uninitialized value at - line 6.
204 Unknown charname 'a_ACUTE' at - line 6, within string
205 Execution of - aborted due to compilation errors.
206 ########
207 # NAME alias with hashref using mixed aliases
208 use warnings;
209 no warnings 'void';
210 use charnames ":full", ":alias" => {
211     e_ACUTE => "LATIN:e WITH ACUTE",
212     a_ACUTE => "LATIN SMALL LETTER A WITH ACUTE",
213     };
214 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
215 EXPECT
216 OPTIONS random fatal
217 Use of uninitialized value at - line 7.
218 Use of uninitialized value at - line 7.
219 Unknown charname 'e_ACUTE' at - line 7, within string
220 Execution of - aborted due to compilation errors.
221 ########
222 # NAME alias with nonexisting file
223 use warnings;
224 no warnings 'void';
225 use charnames ":full", ":alias" => "non_existing_xyzzy";
226 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
227 EXPECT
228 OPTIONS regex
229 unicore/non_existing_xyzzy_alias.pl cannot be used as alias file for charnames at
230 ########
231 # NAME alias with bad file name
232 use warnings;
233 no warnings 'void';
234 use charnames ":full", ":alias" => "xy 7-";
235 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
236 EXPECT
237 OPTIONS regex
238 Charnames alias files can only have identifier characters at
239 ########
240 # NAME alias with non_absolute (existing) file name (which it should /not/ use)
241 use warnings;
242 no warnings 'void';
243 use charnames ":full", ":alias" => "perl";
244 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
245 EXPECT
246 OPTIONS regex
247 unicore/perl_alias.pl cannot be used as alias file for charnames at
248 ########
249 # NAME alias with bad file
250 --FILE-- ../../lib/unicore/xyzzy_alias.pl
251 #!perl
252 0;
253 --FILE--
254 use warnings;
255 no warnings 'void';
256 use charnames ":full", ":alias" => "xyzzy";
257 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
258 EXPECT
259 OPTIONS regex
260 unicore/xyzzy_alias.pl did not return a \(valid\) list of alias pairs at
261 ########
262 # NAME alias with file with empty list
263 --FILE-- ../../lib/unicore/xyzzy_alias.pl
264 #!perl
265 ();
266 --FILE--
267 use warnings;
268 no warnings 'void';
269 use charnames ":full", ":alias" => "xyzzy";
270 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
271 EXPECT
272 OPTIONS random fatal
273 Use of uninitialized value at - line 4.
274 Use of uninitialized value at - line 4.
275 Unknown charname 'e_ACUTE' at - line 4, within string
276 Execution of - aborted due to compilation errors.
277 ########
278 # NAME alias with file OK but file has :short aliases
279 --FILE-- ../../lib/unicore/xyzzy_alias.pl
280 #!perl
281 (   e_ACUTE => "LATIN:e WITH ACUTE",
282     a_ACUTE => "LATIN:a WITH ACUTE",
283     );
284 --FILE--
285 use warnings;
286 no warnings 'void';
287 use charnames ":full", ":alias" => "xyzzy";
288 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
289 EXPECT
290 Use of uninitialized value at - line 4.
291 Use of uninitialized value at - line 4.
292 Unknown charname 'e_ACUTE' at - line 4, within string
293 Execution of - aborted due to compilation errors.
294 ########
295 # NAME alias with :short and file OK
296 --FILE-- ../../lib/unicore/xyzzy_alias.pl
297 #!perl
298 (   e_ACUTE => "LATIN:e WITH ACUTE",
299     a_ACUTE => "LATIN:a WITH ACUTE",
300     );
301 --FILE--
302 use warnings;
303 no warnings 'void';
304 use charnames ":short", ":alias" => "xyzzy";
305 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
306 EXPECT
307 OPTIONS regex
308 $
309 ########
310 # NAME alias with :short and file OK has :long aliases
311 --FILE-- ../../lib/unicore/xyzzy_alias.pl
312 #!perl
313 (   e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE",
314     a_ACUTE => "LATIN SMALL LETTER A WITH ACUTE",
315     );
316 --FILE--
317 use warnings;
318 no warnings 'void';
319 use charnames ":short", ":alias" => "xyzzy";
320 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
321 EXPECT
322 OPTIONS random fatal
323 Use of uninitialized value at - line 4.
324 Use of uninitialized value at - line 4.
325 Unknown charname 'e_ACUTE' at - line 4, within string
326 Execution of - aborted due to compilation errors.
327 ########
328 # NAME alias with file implicit :full but file has :short aliases
329 --FILE-- ../../lib/unicore/xyzzy_alias.pl
330 #!perl
331 (   e_ACUTE => "LATIN:e WITH ACUTE",
332     a_ACUTE => "LATIN:a WITH ACUTE",
333     );
334 --FILE--
335 use warnings;
336 no warnings 'void';
337 use charnames ":alias" => ":xyzzy";
338 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
339 EXPECT
340 Use of uninitialized value at - line 4.
341 Use of uninitialized value at - line 4.
342 Unknown charname 'e_ACUTE' at - line 4, within string
343 Execution of - aborted due to compilation errors.
344 ########
345 # NAME alias with file implicit :full and file has :long aliases
346 --FILE-- ../../lib/unicore/xyzzy_alias.pl
347 #!perl
348 (   e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE",
349     a_ACUTE => "LATIN SMALL LETTER A WITH ACUTE",
350     );
351 --FILE--
352 use warnings;
353 no warnings 'void';
354 use charnames ":alias" => ":xyzzy";
355 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
356 EXPECT
357 OPTIONS regex
358 $
359 ########
360 # NAME charnames with no import still works for runtime functions
361 use warnings;
362 no warnings 'void';
363 use charnames ();
364 charnames::vianame('SPACE');
365 charnames::viacode(0x41);
366 EXPECT
367 OPTIONS regex
368 $
369 ########
370 # NAME no extraneous warning [perl #11560]
371 use warnings;
372 use charnames ();
373 print charnames::viacode(0x80), "\n";
374 EXPECT
375 OPTIONS regex
376 PADDING CHARACTER