1/-- This set of tests is for UTF-16 and UTF-32 support, and is relevant only to
2    the 16- and 32-bit libraries. --/
3
4< forbid W
5
6/���xxx/8?DZSS
7
8/abc/8
9    �]
10
11/X(\C{3})/8
12    X\x{11234}Y
13    X\x{11234}YZ
14
15/X(\C{4})/8
16    X\x{11234}YZ
17    X\x{11234}YZW
18
19/X\C*/8
20    XYZabcdce
21
22/X\C*?/8
23    XYZabcde
24
25/X\C{3,5}/8
26    Xabcdefg
27    X\x{11234}Y
28    X\x{11234}YZ
29    X\x{11234}\x{512}
30    X\x{11234}\x{512}YZ
31    X\x{11234}\x{512}\x{11234}Z
32
33/X\C{3,5}?/8
34    Xabcdefg
35    X\x{11234}Y
36    X\x{11234}YZ
37    X\x{11234}\x{512}YZ
38    *** Failers
39    X\x{11234}
40
41/a\Cb/8
42    aXb
43    a\nb
44
45/a\C\Cb/8
46    a\x{12257}b
47    a\x{12257}\x{11234}b
48    ** Failers
49    a\x{100}b
50
51/ab\Cde/8
52    abXde
53
54/-- Check maximum character size --/
55
56/\x{ffff}/8DZ
57
58/\x{10000}/8DZ
59
60/\x{100}/8DZ
61
62/\x{1000}/8DZ
63
64/\x{10000}/8DZ
65
66/\x{100000}/8DZ
67
68/\x{10ffff}/8DZ
69
70/[\x{ff}]/8DZ
71
72/[\x{100}]/8DZ
73
74/\x80/8DZ
75
76/\xff/8DZ
77
78/\x{D55c}\x{ad6d}\x{C5B4}/DZ8
79    \x{D55c}\x{ad6d}\x{C5B4}
80
81/\x{65e5}\x{672c}\x{8a9e}/DZ8
82    \x{65e5}\x{672c}\x{8a9e}
83
84/\x{80}/DZ8
85
86/\x{084}/DZ8
87
88/\x{104}/DZ8
89
90/\x{861}/DZ8
91
92/\x{212ab}/DZ8
93
94/-- This one is here not because it's different to Perl, but because the way
95the captured single-byte is displayed. (In Perl it becomes a character, and you
96can't tell the difference.) --/
97
98/X(\C)(.*)/8
99    X\x{1234}
100    X\nabc
101
102/-- This one is here because Perl gives out a grumbly error message (quite
103correctly, but that messes up comparisons). --/
104
105/a\Cb/8
106    *** Failers
107    a\x{100}b
108
109/[^ab\xC0-\xF0]/8SDZ
110    \x{f1}
111    \x{bf}
112    \x{100}
113    \x{1000}
114    *** Failers
115    \x{c0}
116    \x{f0}
117
118/Ā{3,4}/8SDZ
119  \x{100}\x{100}\x{100}\x{100\x{100}
120
121/(\x{100}+|x)/8SDZ
122
123/(\x{100}*a|x)/8SDZ
124
125/(\x{100}{0,2}a|x)/8SDZ
126
127/(\x{100}{1,2}a|x)/8SDZ
128
129/\x{100}/8DZ
130
131/a\x{100}\x{101}*/8DZ
132
133/a\x{100}\x{101}+/8DZ
134
135/[^\x{c4}]/DZ
136
137/[\x{100}]/8DZ
138    \x{100}
139    Z\x{100}
140    \x{100}Z
141    *** Failers
142
143/[\xff]/DZ8
144    >\x{ff}<
145
146/[^\xff]/8DZ
147
148/\x{100}abc(xyz(?1))/8DZ
149
150/\777/8I
151  \x{1ff}
152  \777
153
154/\x{100}+\x{200}/8DZ
155
156/\x{100}+X/8DZ
157
158/^[\QĀ\E-\QŐ\E/BZ8
159
160/X/8
161    \x{d800}
162    \x{d800}\?
163    \x{da00}
164    \x{da00}\?
165    \x{dc00}
166    \x{dc00}\?
167    \x{de00}
168    \x{de00}\?
169    \x{dfff}
170    \x{dfff}\?
171    \x{110000}
172    \x{d800}\x{1234}
173
174/(*UTF16)\x{11234}/
175  abcd\x{11234}pqr
176
177/(*UTF)\x{11234}/I
178  abcd\x{11234}pqr
179
180/(*UTF-32)\x{11234}/
181  abcd\x{11234}pqr
182
183/(*CRLF)(*UTF16)(*BSR_UNICODE)a\Rb/I
184
185/(*CRLF)(*UTF32)(*BSR_UNICODE)a\Rb/I
186
187/\h/SI8
188    ABC\x{09}
189    ABC\x{20}
190    ABC\x{a0}
191    ABC\x{1680}
192    ABC\x{180e}
193    ABC\x{2000}
194    ABC\x{202f}
195    ABC\x{205f}
196    ABC\x{3000}
197
198/\v/SI8
199    ABC\x{0a}
200    ABC\x{0b}
201    ABC\x{0c}
202    ABC\x{0d}
203    ABC\x{85}
204    ABC\x{2028}
205
206/\h*A/SI8
207    CDBABC
208    \x{2000}ABC
209
210/\R*A/SI8<bsr_unicode>
211    CDBABC
212    \x{2028}A
213
214/\v+A/SI8
215
216/\s?xxx\s/8SI
217
218/\sxxx\s/I8ST1
219    AB\x{85}xxx\x{a0}XYZ
220    AB\x{a0}xxx\x{85}XYZ
221
222/\S \S/I8ST1
223    \x{a2} \x{84}
224    A Z
225
226/a+/8
227    a\x{123}aa\>1
228    a\x{123}aa\>2
229    a\x{123}aa\>3
230    a\x{123}aa\>4
231    a\x{123}aa\>5
232    a\x{123}aa\>6
233
234/\x{1234}+/iS8I
235
236/\x{1234}+?/iS8I
237
238/\x{1234}++/iS8I
239
240/\x{1234}{2}/iS8I
241
242/[^\x{c4}]/8DZ
243
244/X+\x{200}/8DZ
245
246/\R/SI8
247
248/-- Check bad offset --/
249
250/a/8
251    \x{10000}\>1
252    \x{10000}ab\>1
253    \x{10000}ab\>2
254    \x{10000}ab\>3
255    \x{10000}ab\>4
256    \x{10000}ab\>5
257
258/�/8
259
260/\w+\x{C4}/8BZ
261    a\x{C4}\x{C4}
262
263/\w+\x{C4}/8BZT1
264    a\x{C4}\x{C4}
265
266/\W+\x{C4}/8BZ
267    !\x{C4}
268
269/\W+\x{C4}/8BZT1
270    !\x{C4}
271
272/\W+\x{A1}/8BZ
273    !\x{A1}
274
275/\W+\x{A1}/8BZT1
276    !\x{A1}
277
278/X\s+\x{A0}/8BZ
279    X\x20\x{A0}\x{A0}
280
281/X\s+\x{A0}/8BZT1
282    X\x20\x{A0}\x{A0}
283
284/\S+\x{A0}/8BZ
285    X\x{A0}\x{A0}
286
287/\S+\x{A0}/8BZT1
288    X\x{A0}\x{A0}
289
290/\x{a0}+\s!/8BZ
291    \x{a0}\x20!
292
293/\x{a0}+\s!/8BZT1
294    \x{a0}\x20!
295
296/(*UTF)abc/9
297
298/abc/89
299
300/-- End of testinput18 --/
301