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**Failed: invalid UTF-8 string cannot be converted to UTF-32
8
9/abc/8
10    �]
11**Failed: invalid UTF-8 string cannot be used as input in UTF mode
12
13/X(\C{3})/8
14    X\x{11234}Y
15No match
16    X\x{11234}YZ
17 0: X\x{11234}YZ
18 1: \x{11234}YZ
19
20/X(\C{4})/8
21    X\x{11234}YZ
22No match
23    X\x{11234}YZW
24 0: X\x{11234}YZW
25 1: \x{11234}YZW
26
27/X\C*/8
28    XYZabcdce
29 0: XYZabcdce
30
31/X\C*?/8
32    XYZabcde
33 0: X
34
35/X\C{3,5}/8
36    Xabcdefg
37 0: Xabcde
38    X\x{11234}Y
39No match
40    X\x{11234}YZ
41 0: X\x{11234}YZ
42    X\x{11234}\x{512}
43No match
44    X\x{11234}\x{512}YZ
45 0: X\x{11234}\x{512}YZ
46    X\x{11234}\x{512}\x{11234}Z
47 0: X\x{11234}\x{512}\x{11234}Z
48
49/X\C{3,5}?/8
50    Xabcdefg
51 0: Xabc
52    X\x{11234}Y
53No match
54    X\x{11234}YZ
55 0: X\x{11234}YZ
56    X\x{11234}\x{512}YZ
57 0: X\x{11234}\x{512}Y
58    *** Failers
59No match
60    X\x{11234}
61No match
62
63/a\Cb/8
64    aXb
65 0: aXb
66    a\nb
67 0: a\x{0a}b
68
69/a\C\Cb/8
70    a\x{12257}b
71No match
72    a\x{12257}\x{11234}b
73 0: a\x{12257}\x{11234}b
74    ** Failers
75No match
76    a\x{100}b
77No match
78
79/ab\Cde/8
80    abXde
81 0: abXde
82
83/-- Check maximum character size --/
84
85/\x{ffff}/8DZ
86------------------------------------------------------------------
87        Bra
88        \x{ffff}
89        Ket
90        End
91------------------------------------------------------------------
92Capturing subpattern count = 0
93Options: utf
94First char = \x{ffff}
95No need char
96
97/\x{10000}/8DZ
98------------------------------------------------------------------
99        Bra
100        \x{10000}
101        Ket
102        End
103------------------------------------------------------------------
104Capturing subpattern count = 0
105Options: utf
106First char = \x{10000}
107No need char
108
109/\x{100}/8DZ
110------------------------------------------------------------------
111        Bra
112        \x{100}
113        Ket
114        End
115------------------------------------------------------------------
116Capturing subpattern count = 0
117Options: utf
118First char = \x{100}
119No need char
120
121/\x{1000}/8DZ
122------------------------------------------------------------------
123        Bra
124        \x{1000}
125        Ket
126        End
127------------------------------------------------------------------
128Capturing subpattern count = 0
129Options: utf
130First char = \x{1000}
131No need char
132
133/\x{10000}/8DZ
134------------------------------------------------------------------
135        Bra
136        \x{10000}
137        Ket
138        End
139------------------------------------------------------------------
140Capturing subpattern count = 0
141Options: utf
142First char = \x{10000}
143No need char
144
145/\x{100000}/8DZ
146------------------------------------------------------------------
147        Bra
148        \x{100000}
149        Ket
150        End
151------------------------------------------------------------------
152Capturing subpattern count = 0
153Options: utf
154First char = \x{100000}
155No need char
156
157/\x{10ffff}/8DZ
158------------------------------------------------------------------
159        Bra
160        \x{10ffff}
161        Ket
162        End
163------------------------------------------------------------------
164Capturing subpattern count = 0
165Options: utf
166First char = \x{10ffff}
167No need char
168
169/[\x{ff}]/8DZ
170------------------------------------------------------------------
171        Bra
172        \x{ff}
173        Ket
174        End
175------------------------------------------------------------------
176Capturing subpattern count = 0
177Options: utf
178First char = \x{ff}
179No need char
180
181/[\x{100}]/8DZ
182------------------------------------------------------------------
183        Bra
184        \x{100}
185        Ket
186        End
187------------------------------------------------------------------
188Capturing subpattern count = 0
189Options: utf
190First char = \x{100}
191No need char
192
193/\x80/8DZ
194------------------------------------------------------------------
195        Bra
196        \x80
197        Ket
198        End
199------------------------------------------------------------------
200Capturing subpattern count = 0
201Options: utf
202First char = \x{80}
203No need char
204
205/\xff/8DZ
206------------------------------------------------------------------
207        Bra
208        \x{ff}
209        Ket
210        End
211------------------------------------------------------------------
212Capturing subpattern count = 0
213Options: utf
214First char = \x{ff}
215No need char
216
217/\x{D55c}\x{ad6d}\x{C5B4}/DZ8
218------------------------------------------------------------------
219        Bra
220        \x{d55c}\x{ad6d}\x{c5b4}
221        Ket
222        End
223------------------------------------------------------------------
224Capturing subpattern count = 0
225Options: utf
226First char = \x{d55c}
227Need char = \x{c5b4}
228    \x{D55c}\x{ad6d}\x{C5B4}
229 0: \x{d55c}\x{ad6d}\x{c5b4}
230
231/\x{65e5}\x{672c}\x{8a9e}/DZ8
232------------------------------------------------------------------
233        Bra
234        \x{65e5}\x{672c}\x{8a9e}
235        Ket
236        End
237------------------------------------------------------------------
238Capturing subpattern count = 0
239Options: utf
240First char = \x{65e5}
241Need char = \x{8a9e}
242    \x{65e5}\x{672c}\x{8a9e}
243 0: \x{65e5}\x{672c}\x{8a9e}
244
245/\x{80}/DZ8
246------------------------------------------------------------------
247        Bra
248        \x80
249        Ket
250        End
251------------------------------------------------------------------
252Capturing subpattern count = 0
253Options: utf
254First char = \x{80}
255No need char
256
257/\x{084}/DZ8
258------------------------------------------------------------------
259        Bra
260        \x{84}
261        Ket
262        End
263------------------------------------------------------------------
264Capturing subpattern count = 0
265Options: utf
266First char = \x{84}
267No need char
268
269/\x{104}/DZ8
270------------------------------------------------------------------
271        Bra
272        \x{104}
273        Ket
274        End
275------------------------------------------------------------------
276Capturing subpattern count = 0
277Options: utf
278First char = \x{104}
279No need char
280
281/\x{861}/DZ8
282------------------------------------------------------------------
283        Bra
284        \x{861}
285        Ket
286        End
287------------------------------------------------------------------
288Capturing subpattern count = 0
289Options: utf
290First char = \x{861}
291No need char
292
293/\x{212ab}/DZ8
294------------------------------------------------------------------
295        Bra
296        \x{212ab}
297        Ket
298        End
299------------------------------------------------------------------
300Capturing subpattern count = 0
301Options: utf
302First char = \x{212ab}
303No need char
304
305/-- This one is here not because it's different to Perl, but because the way
306the captured single-byte is displayed. (In Perl it becomes a character, and you
307can't tell the difference.) --/
308
309/X(\C)(.*)/8
310    X\x{1234}
311 0: X\x{1234}
312 1: \x{1234}
313 2:
314    X\nabc
315 0: X\x{0a}abc
316 1: \x{0a}
317 2: abc
318
319/-- This one is here because Perl gives out a grumbly error message (quite
320correctly, but that messes up comparisons). --/
321
322/a\Cb/8
323    *** Failers
324No match
325    a\x{100}b
326 0: a\x{100}b
327
328/[^ab\xC0-\xF0]/8SDZ
329------------------------------------------------------------------
330        Bra
331        [\x00-`c-\xbf\xf1-\xff] (neg)
332        Ket
333        End
334------------------------------------------------------------------
335Capturing subpattern count = 0
336Options: utf
337No first char
338No need char
339Subject length lower bound = 1
340Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
341  \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
342  \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4
343  5 6 7 8 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
344  Z [ \ ] ^ _ ` c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f
345  \x80 \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e
346  \x8f \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d
347  \x9e \x9f \xa0 \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac
348  \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb
349  \xbc \xbd \xbe \xbf \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb
350  \xfc \xfd \xfe \xff
351    \x{f1}
352 0: \x{f1}
353    \x{bf}
354 0: \x{bf}
355    \x{100}
356 0: \x{100}
357    \x{1000}
358 0: \x{1000}
359    *** Failers
360 0: *
361    \x{c0}
362No match
363    \x{f0}
364No match
365
366/Ā{3,4}/8SDZ
367------------------------------------------------------------------
368        Bra
369        \x{100}{3}
370        \x{100}?+
371        Ket
372        End
373------------------------------------------------------------------
374Capturing subpattern count = 0
375Options: utf
376First char = \x{100}
377Need char = \x{100}
378Subject length lower bound = 3
379No starting char list
380  \x{100}\x{100}\x{100}\x{100\x{100}
381 0: \x{100}\x{100}\x{100}
382
383/(\x{100}+|x)/8SDZ
384------------------------------------------------------------------
385        Bra
386        CBra 1
387        \x{100}++
388        Alt
389        x
390        Ket
391        Ket
392        End
393------------------------------------------------------------------
394Capturing subpattern count = 1
395Options: utf
396No first char
397No need char
398Subject length lower bound = 1
399Starting chars: x \xff
400
401/(\x{100}*a|x)/8SDZ
402------------------------------------------------------------------
403        Bra
404        CBra 1
405        \x{100}*+
406        a
407        Alt
408        x
409        Ket
410        Ket
411        End
412------------------------------------------------------------------
413Capturing subpattern count = 1
414Options: utf
415No first char
416No need char
417Subject length lower bound = 1
418Starting chars: a x \xff
419
420/(\x{100}{0,2}a|x)/8SDZ
421------------------------------------------------------------------
422        Bra
423        CBra 1
424        \x{100}{0,2}+
425        a
426        Alt
427        x
428        Ket
429        Ket
430        End
431------------------------------------------------------------------
432Capturing subpattern count = 1
433Options: utf
434No first char
435No need char
436Subject length lower bound = 1
437Starting chars: a x \xff
438
439/(\x{100}{1,2}a|x)/8SDZ
440------------------------------------------------------------------
441        Bra
442        CBra 1
443        \x{100}
444        \x{100}{0,1}+
445        a
446        Alt
447        x
448        Ket
449        Ket
450        End
451------------------------------------------------------------------
452Capturing subpattern count = 1
453Options: utf
454No first char
455No need char
456Subject length lower bound = 1
457Starting chars: x \xff
458
459/\x{100}/8DZ
460------------------------------------------------------------------
461        Bra
462        \x{100}
463        Ket
464        End
465------------------------------------------------------------------
466Capturing subpattern count = 0
467Options: utf
468First char = \x{100}
469No need char
470
471/a\x{100}\x{101}*/8DZ
472------------------------------------------------------------------
473        Bra
474        a\x{100}
475        \x{101}*+
476        Ket
477        End
478------------------------------------------------------------------
479Capturing subpattern count = 0
480Options: utf
481First char = 'a'
482Need char = \x{100}
483
484/a\x{100}\x{101}+/8DZ
485------------------------------------------------------------------
486        Bra
487        a\x{100}
488        \x{101}++
489        Ket
490        End
491------------------------------------------------------------------
492Capturing subpattern count = 0
493Options: utf
494First char = 'a'
495Need char = \x{101}
496
497/[^\x{c4}]/DZ
498------------------------------------------------------------------
499        Bra
500        [^\x{c4}]
501        Ket
502        End
503------------------------------------------------------------------
504Capturing subpattern count = 0
505No options
506No first char
507No need char
508
509/[\x{100}]/8DZ
510------------------------------------------------------------------
511        Bra
512        \x{100}
513        Ket
514        End
515------------------------------------------------------------------
516Capturing subpattern count = 0
517Options: utf
518First char = \x{100}
519No need char
520    \x{100}
521 0: \x{100}
522    Z\x{100}
523 0: \x{100}
524    \x{100}Z
525 0: \x{100}
526    *** Failers
527No match
528
529/[\xff]/DZ8
530------------------------------------------------------------------
531        Bra
532        \x{ff}
533        Ket
534        End
535------------------------------------------------------------------
536Capturing subpattern count = 0
537Options: utf
538First char = \x{ff}
539No need char
540    >\x{ff}<
541 0: \x{ff}
542
543/[^\xff]/8DZ
544------------------------------------------------------------------
545        Bra
546        [^\x{ff}]
547        Ket
548        End
549------------------------------------------------------------------
550Capturing subpattern count = 0
551Options: utf
552No first char
553No need char
554
555/\x{100}abc(xyz(?1))/8DZ
556------------------------------------------------------------------
557        Bra
558        \x{100}abc
559        CBra 1
560        xyz
561        Recurse
562        Ket
563        Ket
564        End
565------------------------------------------------------------------
566Capturing subpattern count = 1
567Options: utf
568First char = \x{100}
569Need char = 'z'
570
571/\777/8I
572Capturing subpattern count = 0
573Options: utf
574First char = \x{1ff}
575No need char
576  \x{1ff}
577 0: \x{1ff}
578  \777
579 0: \x{1ff}
580
581/\x{100}+\x{200}/8DZ
582------------------------------------------------------------------
583        Bra
584        \x{100}++
585        \x{200}
586        Ket
587        End
588------------------------------------------------------------------
589Capturing subpattern count = 0
590Options: utf
591First char = \x{100}
592Need char = \x{200}
593
594/\x{100}+X/8DZ
595------------------------------------------------------------------
596        Bra
597        \x{100}++
598        X
599        Ket
600        End
601------------------------------------------------------------------
602Capturing subpattern count = 0
603Options: utf
604First char = \x{100}
605Need char = 'X'
606
607/^[\QĀ\E-\QŐ\E/BZ8
608Failed: missing terminating ] for character class at offset 13
609
610/X/8
611    \x{d800}
612Error -10 (bad UTF-32 string) offset=0 reason=1
613    \x{d800}\?
614No match
615    \x{da00}
616Error -10 (bad UTF-32 string) offset=0 reason=1
617    \x{da00}\?
618No match
619    \x{dc00}
620Error -10 (bad UTF-32 string) offset=0 reason=1
621    \x{dc00}\?
622No match
623    \x{de00}
624Error -10 (bad UTF-32 string) offset=0 reason=1
625    \x{de00}\?
626No match
627    \x{dfff}
628Error -10 (bad UTF-32 string) offset=0 reason=1
629    \x{dfff}\?
630No match
631    \x{110000}
632Error -10 (bad UTF-32 string) offset=0 reason=3
633    \x{d800}\x{1234}
634Error -10 (bad UTF-32 string) offset=0 reason=1
635
636/(*UTF16)\x{11234}/
637Failed: (*VERB) not recognized or malformed at offset 5
638
639/(*UTF)\x{11234}/I
640Capturing subpattern count = 0
641Options: utf
642First char = \x{11234}
643No need char
644  abcd\x{11234}pqr
645 0: \x{11234}
646
647/(*UTF-32)\x{11234}/
648Failed: (*VERB) not recognized or malformed at offset 5
649
650/(*CRLF)(*UTF16)(*BSR_UNICODE)a\Rb/I
651Failed: (*VERB) not recognized or malformed at offset 12
652
653/(*CRLF)(*UTF32)(*BSR_UNICODE)a\Rb/I
654Capturing subpattern count = 0
655Options: bsr_unicode utf
656Forced newline sequence: CRLF
657First char = 'a'
658Need char = 'b'
659
660/\h/SI8
661Capturing subpattern count = 0
662Options: utf
663No first char
664No need char
665Subject length lower bound = 1
666Starting chars: \x09 \x20 \xa0 \xff
667    ABC\x{09}
668 0: \x{09}
669    ABC\x{20}
670 0:
671    ABC\x{a0}
672 0: \x{a0}
673    ABC\x{1680}
674 0: \x{1680}
675    ABC\x{180e}
676 0: \x{180e}
677    ABC\x{2000}
678 0: \x{2000}
679    ABC\x{202f}
680 0: \x{202f}
681    ABC\x{205f}
682 0: \x{205f}
683    ABC\x{3000}
684 0: \x{3000}
685
686/\v/SI8
687Capturing subpattern count = 0
688Options: utf
689No first char
690No need char
691Subject length lower bound = 1
692Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
693    ABC\x{0a}
694 0: \x{0a}
695    ABC\x{0b}
696 0: \x{0b}
697    ABC\x{0c}
698 0: \x{0c}
699    ABC\x{0d}
700 0: \x{0d}
701    ABC\x{85}
702 0: \x{85}
703    ABC\x{2028}
704 0: \x{2028}
705
706/\h*A/SI8
707Capturing subpattern count = 0
708Options: utf
709No first char
710Need char = 'A'
711Subject length lower bound = 1
712Starting chars: \x09 \x20 A \xa0 \xff
713    CDBABC
714 0: A
715    \x{2000}ABC
716 0: \x{2000}A
717
718/\R*A/SI8<bsr_unicode>
719Capturing subpattern count = 0
720Options: bsr_unicode utf
721No first char
722Need char = 'A'
723Subject length lower bound = 1
724Starting chars: \x0a \x0b \x0c \x0d A \x85 \xff
725    CDBABC
726 0: A
727    \x{2028}A
728 0: \x{2028}A
729
730/\v+A/SI8
731Capturing subpattern count = 0
732Options: utf
733No first char
734Need char = 'A'
735Subject length lower bound = 2
736Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
737
738/\s?xxx\s/8SI
739Capturing subpattern count = 0
740Options: utf
741No first char
742Need char = 'x'
743Subject length lower bound = 4
744Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 x
745
746/\sxxx\s/I8ST1
747Capturing subpattern count = 0
748Options: utf
749No first char
750Need char = 'x'
751Subject length lower bound = 5
752Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 \x85 \xa0
753    AB\x{85}xxx\x{a0}XYZ
754 0: \x{85}xxx\x{a0}
755    AB\x{a0}xxx\x{85}XYZ
756 0: \x{a0}xxx\x{85}
757
758/\S \S/I8ST1
759Capturing subpattern count = 0
760Options: utf
761No first char
762Need char = ' '
763Subject length lower bound = 3
764Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0e \x0f
765  \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e
766  \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C
767  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 f g h
768  i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83 \x84
769  \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 \x94
770  \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa1 \xa2 \xa3 \xa4
771  \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 \xb3
772  \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2
773  \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1
774  \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0
775  \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef
776  \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe
777  \xff
778    \x{a2} \x{84}
779 0: \x{a2} \x{84}
780    A Z
781 0: A Z
782
783/a+/8
784    a\x{123}aa\>1
785 0: aa
786    a\x{123}aa\>2
787 0: aa
788    a\x{123}aa\>3
789 0: a
790    a\x{123}aa\>4
791No match
792    a\x{123}aa\>5
793Error -24 (bad offset value)
794    a\x{123}aa\>6
795Error -24 (bad offset value)
796
797/\x{1234}+/iS8I
798Capturing subpattern count = 0
799Options: caseless utf
800First char = \x{1234}
801No need char
802Subject length lower bound = 1
803No starting char list
804
805/\x{1234}+?/iS8I
806Capturing subpattern count = 0
807Options: caseless utf
808First char = \x{1234}
809No need char
810Subject length lower bound = 1
811No starting char list
812
813/\x{1234}++/iS8I
814Capturing subpattern count = 0
815Options: caseless utf
816First char = \x{1234}
817No need char
818Subject length lower bound = 1
819No starting char list
820
821/\x{1234}{2}/iS8I
822Capturing subpattern count = 0
823Options: caseless utf
824First char = \x{1234}
825Need char = \x{1234}
826Subject length lower bound = 2
827No starting char list
828
829/[^\x{c4}]/8DZ
830------------------------------------------------------------------
831        Bra
832        [^\x{c4}]
833        Ket
834        End
835------------------------------------------------------------------
836Capturing subpattern count = 0
837Options: utf
838No first char
839No need char
840
841/X+\x{200}/8DZ
842------------------------------------------------------------------
843        Bra
844        X++
845        \x{200}
846        Ket
847        End
848------------------------------------------------------------------
849Capturing subpattern count = 0
850Options: utf
851First char = 'X'
852Need char = \x{200}
853
854/\R/SI8
855Capturing subpattern count = 0
856Options: utf
857No first char
858No need char
859Subject length lower bound = 1
860Starting chars: \x0a \x0b \x0c \x0d \x85 \xff
861
862/-- Check bad offset --/
863
864/a/8
865    \x{10000}\>1
866No match
867    \x{10000}ab\>1
868 0: a
869    \x{10000}ab\>2
870No match
871    \x{10000}ab\>3
872No match
873    \x{10000}ab\>4
874Error -24 (bad offset value)
875    \x{10000}ab\>5
876Error -24 (bad offset value)
877
878/�/8
879**Failed: character value is ill-formed UTF-32
880
881/\w+\x{C4}/8BZ
882------------------------------------------------------------------
883        Bra
884        \w++
885        \x{c4}
886        Ket
887        End
888------------------------------------------------------------------
889    a\x{C4}\x{C4}
890 0: a\x{c4}
891
892/\w+\x{C4}/8BZT1
893------------------------------------------------------------------
894        Bra
895        \w+
896        \x{c4}
897        Ket
898        End
899------------------------------------------------------------------
900    a\x{C4}\x{C4}
901 0: a\x{c4}\x{c4}
902
903/\W+\x{C4}/8BZ
904------------------------------------------------------------------
905        Bra
906        \W+
907        \x{c4}
908        Ket
909        End
910------------------------------------------------------------------
911    !\x{C4}
912 0: !\x{c4}
913
914/\W+\x{C4}/8BZT1
915------------------------------------------------------------------
916        Bra
917        \W++
918        \x{c4}
919        Ket
920        End
921------------------------------------------------------------------
922    !\x{C4}
923 0: !\x{c4}
924
925/\W+\x{A1}/8BZ
926------------------------------------------------------------------
927        Bra
928        \W+
929        \x{a1}
930        Ket
931        End
932------------------------------------------------------------------
933    !\x{A1}
934 0: !\x{a1}
935
936/\W+\x{A1}/8BZT1
937------------------------------------------------------------------
938        Bra
939        \W+
940        \x{a1}
941        Ket
942        End
943------------------------------------------------------------------
944    !\x{A1}
945 0: !\x{a1}
946
947/X\s+\x{A0}/8BZ
948------------------------------------------------------------------
949        Bra
950        X
951        \s++
952        \x{a0}
953        Ket
954        End
955------------------------------------------------------------------
956    X\x20\x{A0}\x{A0}
957 0: X \x{a0}
958
959/X\s+\x{A0}/8BZT1
960------------------------------------------------------------------
961        Bra
962        X
963        \s+
964        \x{a0}
965        Ket
966        End
967------------------------------------------------------------------
968    X\x20\x{A0}\x{A0}
969 0: X \x{a0}\x{a0}
970
971/\S+\x{A0}/8BZ
972------------------------------------------------------------------
973        Bra
974        \S+
975        \x{a0}
976        Ket
977        End
978------------------------------------------------------------------
979    X\x{A0}\x{A0}
980 0: X\x{a0}\x{a0}
981
982/\S+\x{A0}/8BZT1
983------------------------------------------------------------------
984        Bra
985        \S++
986        \x{a0}
987        Ket
988        End
989------------------------------------------------------------------
990    X\x{A0}\x{A0}
991 0: X\x{a0}
992
993/\x{a0}+\s!/8BZ
994------------------------------------------------------------------
995        Bra
996        \x{a0}++
997        \s
998        !
999        Ket
1000        End
1001------------------------------------------------------------------
1002    \x{a0}\x20!
1003 0: \x{a0} !
1004
1005/\x{a0}+\s!/8BZT1
1006------------------------------------------------------------------
1007        Bra
1008        \x{a0}+
1009        \s
1010        !
1011        Ket
1012        End
1013------------------------------------------------------------------
1014    \x{a0}\x20!
1015 0: \x{a0} !
1016
1017/(*UTF)abc/9
1018Failed: setting UTF is disabled by the application at offset 0
1019
1020/abc/89
1021Failed: setting UTF is disabled by the application at offset 0
1022
1023/-- End of testinput18 --/
1024