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