1 /-- This set of tests is for the 16-bit library's basic (non-UTF-16) features
2 that are not compatible with the 8-bit library, or which give different
3 output in 16-bit mode. --/
11 /-- Check maximum non-UTF character size --/
18 Failed: character value in \x{...} sequence is too large at offset 8
21 ------------------------------------------------------------------
26 ------------------------------------------------------------------
27 Capturing subpattern count = 0
34 Capturing subpattern count = 0
40 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
41 \) )* # optional leading comment
43 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
44 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
46 " (?: # opening quote...
47 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
49 \\ [^\x80-\xff] # Escaped something (something != CR)
53 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
54 \) )* \. (?: [\040\t] | \(
55 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
57 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
58 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
60 " (?: # opening quote...
61 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
63 \\ [^\x80-\xff] # Escaped something (something != CR)
65 ) )* # further okay, if led by a period
67 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
68 \) )* @ (?: [\040\t] | \(
69 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
71 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
72 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
74 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
79 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
80 \) )* \. # if led by a period...
82 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
84 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
85 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
87 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
94 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
95 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
97 " (?: # opening quote...
98 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
100 \\ [^\x80-\xff] # Escaped something (something != CR)
102 ) # one word, optionally followed by....
104 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
106 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
107 \) | # comments, or...
109 " (?: # opening quote...
110 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
112 \\ [^\x80-\xff] # Escaped something (something != CR)
117 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
119 (?: @ (?: [\040\t] | \(
120 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
122 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
123 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
125 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
127 ) # initial subdomain
130 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
131 \) )* \. # if led by a period...
133 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
135 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
136 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
138 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
143 (?: (?: [\040\t] | \(
144 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
145 \) )* , (?: [\040\t] | \(
146 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
147 \) )* @ (?: [\040\t] | \(
148 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
150 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
151 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
153 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
155 ) # initial subdomain
158 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
159 \) )* \. # if led by a period...
161 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
163 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
164 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
166 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
170 )* # further okay, if led by comma
173 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
174 \) )* )? # optional route
176 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
177 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
179 " (?: # opening quote...
180 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
182 \\ [^\x80-\xff] # Escaped something (something != CR)
185 (?: (?: [\040\t] | \(
186 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
187 \) )* \. (?: [\040\t] | \(
188 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
190 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
191 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
193 " (?: # opening quote...
194 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
196 \\ [^\x80-\xff] # Escaped something (something != CR)
198 ) )* # further okay, if led by a period
200 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
201 \) )* @ (?: [\040\t] | \(
202 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
204 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
205 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
207 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
209 ) # initial subdomain
212 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
213 \) )* \. # if led by a period...
215 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
217 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
218 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
220 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
226 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
230 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
231 \) )* # optional trailing comment
233 Capturing subpattern count = 0
234 Contains explicit CR or LF match
238 Subject length lower bound = 3
239 Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8
240 9 = ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ^ _ ` a b c d e
241 f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \xff
244 ------------------------------------------------------------------
246 [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
249 ------------------------------------------------------------------
254 ------------------------------------------------------------------
256 [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]+
259 ------------------------------------------------------------------
264 ------------------------------------------------------------------
266 [\x0a-\x0d\x85\x{2028}-\x{2029}]
269 ------------------------------------------------------------------
272 ------------------------------------------------------------------
274 [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{ffff}]
277 ------------------------------------------------------------------
280 ------------------------------------------------------------------
282 [^\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
285 ------------------------------------------------------------------
288 ------------------------------------------------------------------
290 [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{ffff}]
293 ------------------------------------------------------------------
296 ------------------------------------------------------------------
298 [\x00-\x0a\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{ffff}]
301 ------------------------------------------------------------------
304 Capturing subpattern count = 0
308 Subject length lower bound = 1
309 Starting byte set: \x09 \x20 \xa0 \xff
310 \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
311 0: \x{1680}\x{2000}\x{202f}\x{3000}
312 \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
313 0: \x{200a}\xa0\x{2000}
316 ------------------------------------------------------------------
318 [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{dc00}]+
321 ------------------------------------------------------------------
322 Capturing subpattern count = 0
326 Subject length lower bound = 1
327 No set of starting bytes
328 \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
329 0: \x{1680}\x{2000}\x{202f}\x{3000}
330 \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
331 0: \x{200a}\xa0\x{2000}
334 Capturing subpattern count = 0
338 Subject length lower bound = 1
339 No set of starting bytes
340 \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
341 0: \x{167f}\x{1681}\x{180d}\x{180f}
342 \x{2000}\x{200a}\x{1fff}\x{200b}
344 \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
345 0: \x{202e}\x{2030}\x{205e}\x{2060}
346 \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
347 0: \x9f\xa1\x{2fff}\x{3001}
350 ------------------------------------------------------------------
352 [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{ffff}\x{d800}]+
355 ------------------------------------------------------------------
356 Capturing subpattern count = 0
360 Subject length lower bound = 1
361 No set of starting bytes
362 \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
363 0: \x{167f}\x{1681}\x{180d}\x{180f}
364 \x{2000}\x{200a}\x{1fff}\x{200b}
366 \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
367 0: \x{202e}\x{2030}\x{205e}\x{2060}
368 \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
369 0: \x9f\xa1\x{2fff}\x{3001}
372 Capturing subpattern count = 0
376 Subject length lower bound = 1
377 Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
378 \x{2027}\x{2030}\x{2028}\x{2029}
380 \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
381 0: \x85\x0a\x0b\x0c\x0d
384 ------------------------------------------------------------------
386 [\x0a-\x0d\x85\x{2028}-\x{2029}\x{dc00}]+
389 ------------------------------------------------------------------
390 Capturing subpattern count = 0
394 Subject length lower bound = 1
395 No set of starting bytes
396 \x{2027}\x{2030}\x{2028}\x{2029}
398 \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
399 0: \x85\x0a\x0b\x0c\x0d
402 Capturing subpattern count = 0
406 Subject length lower bound = 1
407 No set of starting bytes
408 \x{2028}\x{2029}\x{2027}\x{2030}
410 \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
414 ------------------------------------------------------------------
416 [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{ffff}\x{d800}]+
419 ------------------------------------------------------------------
420 Capturing subpattern count = 0
424 Subject length lower bound = 1
425 No set of starting bytes
426 \x{2028}\x{2029}\x{2027}\x{2030}
428 \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
432 Capturing subpattern count = 0
436 Subject length lower bound = 1
437 Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff
438 \x{2027}\x{2030}\x{2028}\x{2029}
440 \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
441 0: \x85\x0a\x0b\x0c\x0d
443 /\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I
444 Capturing subpattern count = 0
446 First char = \x{d800}
448 \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}
449 0: \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}
451 /-- End of testinput17 --/