xref: /PHP-5.3/ext/pcre/pcrelib/testdata/testinput6 (revision 357ab3cb)
1/-- This set of tests is for Unicode property support. It is compatible with
2    Perl >= 5.15. --/
3
4/^\pC\pL\pM\pN\pP\pS\pZ</8
5    \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
6    \np\x{300}9!\$ <
7    ** Failers
8    ap\x{300}9!\$ <
9
10/^\PC/8
11    X
12    ** Failers
13    \x7f
14
15/^\PL/8
16    9
17    ** Failers
18    \x{c0}
19
20/^\PM/8
21    X
22    ** Failers
23    \x{30f}
24
25/^\PN/8
26    X
27    ** Failers
28    \x{660}
29
30/^\PP/8
31    X
32    ** Failers
33    \x{66c}
34
35/^\PS/8
36    X
37    ** Failers
38    \x{f01}
39
40/^\PZ/8
41    X
42    ** Failers
43    \x{1680}
44
45/^\p{Cc}/8
46    \x{017}
47    \x{09f}
48    ** Failers
49    \x{0600}
50
51/^\p{Cf}/8
52    \x{601}
53    ** Failers
54    \x{09f}
55
56/^\p{Cn}/8
57    \x{e0000}
58    ** Failers
59    \x{09f}
60
61/^\p{Co}/8
62    \x{f8ff}
63    ** Failers
64    \x{09f}
65
66/^\p{Ll}/8
67    a
68    ** Failers
69    Z
70    \x{e000}
71
72/^\p{Lm}/8
73    \x{2b0}
74    ** Failers
75    a
76
77/^\p{Lo}/8
78    \x{1bb}
79    \x{3400}
80    \x{3401}
81    \x{4d00}
82    \x{4db4}
83    \x{4db5}
84    ** Failers
85    a
86    \x{2b0}
87    \x{4db6}
88
89/^\p{Lt}/8
90    \x{1c5}
91    ** Failers
92    a
93    \x{2b0}
94
95/^\p{Lu}/8
96    A
97    ** Failers
98    \x{2b0}
99
100/^\p{Mc}/8
101    \x{903}
102    ** Failers
103    X
104    \x{300}
105
106/^\p{Me}/8
107    \x{488}
108    ** Failers
109    X
110    \x{903}
111    \x{300}
112
113/^\p{Mn}/8
114    \x{300}
115    ** Failers
116    X
117    \x{903}
118
119/^\p{Nd}+/8
120    0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
121    \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
122    \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
123    ** Failers
124    X
125
126/^\p{Nl}/8
127    \x{16ee}
128    ** Failers
129    X
130    \x{966}
131
132/^\p{No}/8
133    \x{b2}
134    \x{b3}
135    ** Failers
136    X
137    \x{16ee}
138
139/^\p{Pc}/8
140    \x5f
141    \x{203f}
142    ** Failers
143    X
144    -
145    \x{58a}
146
147/^\p{Pd}/8
148    -
149    \x{58a}
150    ** Failers
151    X
152    \x{203f}
153
154/^\p{Pe}/8
155    )
156    ]
157    }
158    \x{f3b}
159    ** Failers
160    X
161    \x{203f}
162    (
163    [
164    {
165    \x{f3c}
166
167/^\p{Pf}/8
168    \x{bb}
169    \x{2019}
170    ** Failers
171    X
172    \x{203f}
173
174/^\p{Pi}/8
175    \x{ab}
176    \x{2018}
177    ** Failers
178    X
179    \x{203f}
180
181/^\p{Po}/8
182    !
183    \x{37e}
184    ** Failers
185    X
186    \x{203f}
187
188/^\p{Ps}/8
189    (
190    [
191    {
192    \x{f3c}
193    ** Failers
194    X
195    )
196    ]
197    }
198    \x{f3b}
199
200/^\p{Sk}/8
201    \x{2c2}
202    ** Failers
203    X
204    \x{9f2}
205
206/^\p{Sm}+/8
207    +<|~\x{ac}\x{2044}
208    ** Failers
209    X
210    \x{9f2}
211
212/^\p{So}/8
213    \x{a6}
214    \x{482}
215    ** Failers
216    X
217    \x{9f2}
218
219/^\p{Zl}/8
220    \x{2028}
221    ** Failers
222    X
223    \x{2029}
224
225/^\p{Zp}/8
226    \x{2029}
227    ** Failers
228    X
229    \x{2028}
230
231/\p{Nd}+(..)/8
232      \x{660}\x{661}\x{662}ABC
233
234/\p{Nd}+?(..)/8
235      \x{660}\x{661}\x{662}ABC
236
237/\p{Nd}{2,}(..)/8
238      \x{660}\x{661}\x{662}ABC
239
240/\p{Nd}{2,}?(..)/8
241      \x{660}\x{661}\x{662}ABC
242
243/\p{Nd}*(..)/8
244      \x{660}\x{661}\x{662}ABC
245
246/\p{Nd}*?(..)/8
247      \x{660}\x{661}\x{662}ABC
248
249/\p{Nd}{2}(..)/8
250      \x{660}\x{661}\x{662}ABC
251
252/\p{Nd}{2,3}(..)/8
253      \x{660}\x{661}\x{662}ABC
254
255/\p{Nd}{2,3}?(..)/8
256      \x{660}\x{661}\x{662}ABC
257
258/\p{Nd}?(..)/8
259      \x{660}\x{661}\x{662}ABC
260
261/\p{Nd}??(..)/8
262      \x{660}\x{661}\x{662}ABC
263
264/\p{Nd}*+(..)/8
265      \x{660}\x{661}\x{662}ABC
266
267/\p{Nd}*+(...)/8
268      \x{660}\x{661}\x{662}ABC
269
270/\p{Nd}*+(....)/8
271      ** Failers
272      \x{660}\x{661}\x{662}ABC
273
274/(?<=A\p{Nd})XYZ/8
275    A2XYZ
276    123A5XYZPQR
277    ABA\x{660}XYZpqr
278    ** Failers
279    AXYZ
280    XYZ
281
282/(?<!\pL)XYZ/8
283    1XYZ
284    AB=XYZ..
285    XYZ
286    ** Failers
287    WXYZ
288
289/[\P{Nd}]+/8
290    abcd
291    ** Failers
292    1234
293
294/\D+/8
295    11111111111111111111111111111111111111111111111111111111111111111111111
296    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
297
298/\P{Nd}+/8
299    11111111111111111111111111111111111111111111111111111111111111111111111
300    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
301
302/[\D]+/8
303    11111111111111111111111111111111111111111111111111111111111111111111111
304    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
305
306/[\P{Nd}]+/8
307    11111111111111111111111111111111111111111111111111111111111111111111111
308    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
309
310/[\D\P{Nd}]+/8
311    11111111111111111111111111111111111111111111111111111111111111111111111
312    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
313
314/\pL/8
315    a
316    A
317
318/\pL/8i
319    a
320    A
321
322/\p{Lu}/8
323    A
324    aZ
325    ** Failers
326    abc
327
328/\p{Lu}/8i
329    A
330    aZ
331    ** Failers
332    abc
333
334/\p{Ll}/8
335    a
336    Az
337    ** Failers
338    ABC
339
340/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8
341    A\x{391}\x{10427}\x{ff3a}\x{1fb0}
342    ** Failers
343    a\x{391}\x{10427}\x{ff3a}\x{1fb0}
344    A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
345    A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
346    A\x{391}\x{10427}\x{ff5a}\x{1fb0}
347    A\x{391}\x{10427}\x{ff3a}\x{1fb8}
348
349/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8i
350    A\x{391}\x{10427}\x{ff3a}\x{1fb0}
351    a\x{391}\x{10427}\x{ff3a}\x{1fb0}
352    A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
353    A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
354    A\x{391}\x{10427}\x{ff5a}\x{1fb0}
355    A\x{391}\x{10427}\x{ff3a}\x{1fb8}
356
357/\x{391}+/8i
358    \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
359
360/\x{391}{3,5}(.)/8i
361    \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
362
363/\x{391}{3,5}?(.)/8i
364    \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
365
366/[\x{391}\x{ff3a}]/8i
367    \x{391}
368    \x{ff3a}
369    \x{3b1}
370    \x{ff5a}
371
372/^[\X]/8
373    X123
374    *** Failers
375    AXYZ
376
377/^(\X*)C/8
378    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
379    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
380
381/^(\X*?)C/8
382    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
383    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
384
385/^(\X*)(.)/8
386    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
387    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
388
389/^(\X*?)(.)/8
390    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
391    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
392
393/^\X(.)/8
394    *** Failers
395    A\x{300}\x{301}\x{302}
396
397/^\X{2,3}(.)/8
398    A\x{300}\x{301}B\x{300}X
399    A\x{300}\x{301}B\x{300}C\x{300}\x{301}
400    A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
401    A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
402
403/^\X{2,3}?(.)/8
404    A\x{300}\x{301}B\x{300}X
405    A\x{300}\x{301}B\x{300}C\x{300}\x{301}
406    A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
407    A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
408
409/^\X/8
410    A
411    A\x{300}BC
412    A\x{300}\x{301}\x{302}BC
413    \x{300}
414
415/^\p{Han}+/8
416    \x{2e81}\x{3007}\x{2f804}\x{31a0}
417    ** Failers
418    \x{2e7f}
419
420/^\P{Katakana}+/8
421    \x{3105}
422    ** Failers
423    \x{30ff}
424
425/^[\p{Arabic}]/8
426    \x{06e9}
427    \x{060b}
428    ** Failers
429    X\x{06e9}
430
431/^[\P{Yi}]/8
432    \x{2f800}
433    ** Failers
434    \x{a014}
435    \x{a4c6}
436
437/^\p{Any}X/8
438    AXYZ
439    \x{1234}XYZ
440    ** Failers
441    X
442
443/^\P{Any}X/8
444    ** Failers
445    AX
446
447/^\p{Any}?X/8
448    XYZ
449    AXYZ
450    \x{1234}XYZ
451    ** Failers
452    ABXYZ
453
454/^\P{Any}?X/8
455    XYZ
456    ** Failers
457    AXYZ
458    \x{1234}XYZ
459    ABXYZ
460
461/^\p{Any}+X/8
462    AXYZ
463    \x{1234}XYZ
464    A\x{1234}XYZ
465    ** Failers
466    XYZ
467
468/^\P{Any}+X/8
469    ** Failers
470    AXYZ
471    \x{1234}XYZ
472    A\x{1234}XYZ
473    XYZ
474
475/^\p{Any}*X/8
476    XYZ
477    AXYZ
478    \x{1234}XYZ
479    A\x{1234}XYZ
480    ** Failers
481
482/^\P{Any}*X/8
483    XYZ
484    ** Failers
485    AXYZ
486    \x{1234}XYZ
487    A\x{1234}XYZ
488
489/^[\p{Any}]X/8
490    AXYZ
491    \x{1234}XYZ
492    ** Failers
493    X
494
495/^[\P{Any}]X/8
496    ** Failers
497    AX
498
499/^[\p{Any}]?X/8
500    XYZ
501    AXYZ
502    \x{1234}XYZ
503    ** Failers
504    ABXYZ
505
506/^[\P{Any}]?X/8
507    XYZ
508    ** Failers
509    AXYZ
510    \x{1234}XYZ
511    ABXYZ
512
513/^[\p{Any}]+X/8
514    AXYZ
515    \x{1234}XYZ
516    A\x{1234}XYZ
517    ** Failers
518    XYZ
519
520/^[\P{Any}]+X/8
521    ** Failers
522    AXYZ
523    \x{1234}XYZ
524    A\x{1234}XYZ
525    XYZ
526
527/^[\p{Any}]*X/8
528    XYZ
529    AXYZ
530    \x{1234}XYZ
531    A\x{1234}XYZ
532    ** Failers
533
534/^[\P{Any}]*X/8
535    XYZ
536    ** Failers
537    AXYZ
538    \x{1234}XYZ
539    A\x{1234}XYZ
540
541/^\p{Any}{3,5}?/8
542    abcdefgh
543    \x{1234}\n\r\x{3456}xyz
544
545/^\p{Any}{3,5}/8
546    abcdefgh
547    \x{1234}\n\r\x{3456}xyz
548
549/^\P{Any}{3,5}?/8
550    ** Failers
551    abcdefgh
552    \x{1234}\n\r\x{3456}xyz
553
554/^\p{L&}X/8
555     AXY
556     aXY
557     \x{1c5}XY
558     ** Failers
559     \x{1bb}XY
560     \x{2b0}XY
561     !XY
562
563/^[\p{L&}]X/8
564     AXY
565     aXY
566     \x{1c5}XY
567     ** Failers
568     \x{1bb}XY
569     \x{2b0}XY
570     !XY
571
572/^\p{L&}+X/8
573     AXY
574     aXY
575     AbcdeXyz
576     \x{1c5}AbXY
577     abcDEXypqreXlmn
578     ** Failers
579     \x{1bb}XY
580     \x{2b0}XY
581     !XY
582
583/^[\p{L&}]+X/8
584     AXY
585     aXY
586     AbcdeXyz
587     \x{1c5}AbXY
588     abcDEXypqreXlmn
589     ** Failers
590     \x{1bb}XY
591     \x{2b0}XY
592     !XY
593
594/^\p{L&}+?X/8
595     AXY
596     aXY
597     AbcdeXyz
598     \x{1c5}AbXY
599     abcDEXypqreXlmn
600     ** Failers
601     \x{1bb}XY
602     \x{2b0}XY
603     !XY
604
605/^[\p{L&}]+?X/8
606     AXY
607     aXY
608     AbcdeXyz
609     \x{1c5}AbXY
610     abcDEXypqreXlmn
611     ** Failers
612     \x{1bb}XY
613     \x{2b0}XY
614     !XY
615
616/^\P{L&}X/8
617     !XY
618     \x{1bb}XY
619     \x{2b0}XY
620     ** Failers
621     \x{1c5}XY
622     AXY
623
624/^[\P{L&}]X/8
625     !XY
626     \x{1bb}XY
627     \x{2b0}XY
628     ** Failers
629     \x{1c5}XY
630     AXY
631
632/^(\p{Z}[^\p{C}\p{Z}]+)*$/
633    \xa0!
634
635/^[\pL](abc)(?1)/
636    AabcabcYZ
637
638/([\pL]=(abc))*X/
639    L=abcX
640
641/^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}/8
642    \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900}
643
644/Check property support in non-UTF-8 mode/
645
646/\p{L}{4}/
647    123abcdefg
648    123abc\xc4\xc5zz
649
650/\X{1,3}\d/
651  \x8aBCD
652
653/\X?\d/
654  \x8aBCD
655
656/\P{L}?\d/
657  \x8aBCD
658
659/[\PPP\x8a]{1,}\x80/
660    A\x80
661
662/^[\p{Arabic}]/8
663    \x{604}
664    \x{60e}
665    \x{656}
666    \x{657}
667    \x{658}
668    \x{659}
669    \x{65a}
670    \x{65b}
671    \x{65c}
672    \x{65d}
673    \x{65e}
674    \x{65f}
675    \x{66a}
676    \x{6e9}
677    \x{6ef}
678    \x{6fa}
679    ** Failers
680    \x{650}
681    \x{651}
682    \x{652}
683    \x{653}
684    \x{654}
685    \x{655}
686
687/^\p{Cyrillic}/8
688    \x{1d2b}
689
690/^\p{Common}/8
691    \x{589}
692    \x{60c}
693    \x{61f}
694    \x{964}
695    \x{965}
696
697/^\p{Inherited}/8
698    \x{64b}
699    \x{654}
700    \x{655}
701    \x{200c}
702    ** Failers
703    \x{64a}
704    \x{656}
705
706/^\p{Shavian}/8
707    \x{10450}
708    \x{1047f}
709
710/^\p{Deseret}/8
711    \x{10400}
712    \x{1044f}
713
714/^\p{Osmanya}/8
715    \x{10480}
716    \x{1049d}
717    \x{104a0}
718    \x{104a9}
719    ** Failers
720    \x{1049e}
721    \x{1049f}
722    \x{104aa}
723
724/\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/8
725    \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
726
727/\x{a77d}\x{1d79}/8i
728    \x{a77d}\x{1d79}
729    \x{1d79}\x{a77d}
730
731/\x{a77d}\x{1d79}/8
732    \x{a77d}\x{1d79}
733    ** Failers
734    \x{1d79}\x{a77d}
735
736/(A)\1/8i
737    AA
738    Aa
739    aa
740    aA
741
742/(\x{10a})\1/8i
743    \x{10a}\x{10a}
744    \x{10a}\x{10b}
745    \x{10b}\x{10b}
746    \x{10b}\x{10a}
747
748/The next two tests are for property support in non-UTF-8 mode/
749
750/(?:\p{Lu}|\x20)+/
751    \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59
752
753/[\p{Lu}\x20]+/
754    \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59
755
756/\p{Avestan}\p{Bamum}\p{Egyptian_Hieroglyphs}\p{Imperial_Aramaic}\p{Inscriptional_Pahlavi}\p{Inscriptional_Parthian}\p{Javanese}\p{Kaithi}\p{Lisu}\p{Meetei_Mayek}\p{Old_South_Arabian}\p{Old_Turkic}\p{Samaritan}\p{Tai_Tham}\p{Tai_Viet}/8
757    \x{10b00}\x{a6ef}\x{13007}\x{10857}\x{10b78}\x{10b58}\x{a980}\x{110c1}\x{a4ff}\x{abc0}\x{10a7d}\x{10c48}\x{0800}\x{1aad}\x{aac0}
758
759/^\w+/8W
760    Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
761
762/^[[:xdigit:]]*/8W
763    1a\x{660}\x{bef}\x{16ee}
764
765/^\d+/8W
766    1\x{660}\x{bef}\x{16ee}
767
768/^[[:digit:]]+/8W
769    1\x{660}\x{bef}\x{16ee}
770
771/^>\s+/8W
772    >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
773
774/^>\pZ+/8W
775    >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
776
777/^>[[:space:]]*/8W
778    >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
779
780/^>[[:blank:]]*/8W
781    >\x{20}\x{a0}\x{1680}\x{180e}\x{2000}\x{202f}\x{9}\x{b}\x{2028}
782
783/^[[:alpha:]]*/8W
784    Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}
785
786/^[[:alnum:]]*/8W
787    Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
788
789/^[[:cntrl:]]*/8W
790    \x{0}\x{09}\x{1f}\x{7f}\x{9f}
791
792/^[[:graph:]]*/8W
793    A\x{a1}\x{a0}
794
795/^[[:print:]]*/8W
796    A z\x{a0}\x{a1}
797
798/^[[:punct:]]*/8W
799    .+\x{a1}\x{a0}
800
801/\p{Zs}*?\R/
802    ** Failers
803    a\xFCb
804
805/\p{Zs}*\R/
806    ** Failers
807    a\xFCb
808
809/ⱥ/8i
810811    Ⱥx
812    Ⱥ
813
814/[ⱥ]/8i
815816    Ⱥx
817    Ⱥ
818
819/Ⱥ/8i
820    Ⱥ
821822
823/-- These are tests for extended grapheme clusters --/
824
825/^\X/8+
826    G\x{34e}\x{34e}X
827    \x{34e}\x{34e}X
828    \x04X
829    \x{1100}X
830    \x{1100}\x{34e}X
831    \x{1b04}\x{1b04}X
832    *These match up to the roman letters
833    \x{1111}\x{1111}L,L
834    \x{1111}\x{1111}\x{1169}L,L,V
835    \x{1111}\x{ae4c}L, LV
836    \x{1111}\x{ad89}L, LVT
837    \x{1111}\x{ae4c}\x{1169}L, LV, V
838    \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V
839    \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T
840    \x{1111}\x{ad89}\x{11fe}L, LVT, T
841    \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T
842    \x{ad89}\x{11fe}\x{11fe}LVT, T, T
843    *These match just the first codepoint (invalid sequence)
844    \x{1111}\x{11fe}L, T
845    \x{ae4c}\x{1111}LV, L
846    \x{ae4c}\x{ae4c}LV, LV
847    \x{ae4c}\x{ad89}LV, LVT
848    \x{1169}\x{1111}V, L
849    \x{1169}\x{ae4c}V, LV
850    \x{1169}\x{ad89}V, LVT
851    \x{ad89}\x{1111}LVT, L
852    \x{ad89}\x{1169}LVT, V
853    \x{ad89}\x{ae4c}LVT, LV
854    \x{ad89}\x{ad89}LVT, LVT
855    \x{11fe}\x{1111}T, L
856    \x{11fe}\x{1169}T, V
857    \x{11fe}\x{ae4c}T, LV
858    \x{11fe}\x{ad89}T, LVT
859    *Test extend and spacing mark
860    \x{1111}\x{ae4c}\x{0711}L, LV, extend
861    \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark
862    \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark
863    *Test CR, LF, and control
864    \x0d\x{0711}CR, extend
865    \x0d\x{1b04}CR, spacingmark
866    \x0a\x{0711}LF, extend
867    \x0a\x{1b04}LF, spacingmark
868    \x0b\x{0711}Control, extend
869    \x09\x{1b04}Control, spacingmark
870    *There are no Prepend characters, so we can't test Prepend, CR
871
872/^(?>\X{2})X/8+
873    \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
874
875/^\X{2,4}X/8+
876    \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
877    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
878    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
879
880/^\X{2,4}?X/8+
881    \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
882    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
883    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
884
885/-- --/
886
887/\x{1e9e}+/8i
888    \x{1e9e}\x{00df}
889
890/[z\x{1e9e}]+/8i
891    \x{1e9e}\x{00df}
892
893/\x{00df}+/8i
894    \x{1e9e}\x{00df}
895
896/[z\x{00df}]+/8i
897    \x{1e9e}\x{00df}
898
899/\x{1f88}+/8i
900    \x{1f88}\x{1f80}
901
902/[z\x{1f88}]+/8i
903    \x{1f88}\x{1f80}
904
905/-- Characters with more than one other case; test in classes --/
906
907/[z\x{00b5}]+/8i
908    \x{00b5}\x{039c}\x{03bc}
909
910/[z\x{039c}]+/8i
911    \x{00b5}\x{039c}\x{03bc}
912
913/[z\x{03bc}]+/8i
914    \x{00b5}\x{039c}\x{03bc}
915
916/[z\x{00c5}]+/8i
917    \x{00c5}\x{00e5}\x{212b}
918
919/[z\x{00e5}]+/8i
920    \x{00c5}\x{00e5}\x{212b}
921
922/[z\x{212b}]+/8i
923    \x{00c5}\x{00e5}\x{212b}
924
925/[z\x{01c4}]+/8i
926    \x{01c4}\x{01c5}\x{01c6}
927
928/[z\x{01c5}]+/8i
929    \x{01c4}\x{01c5}\x{01c6}
930
931/[z\x{01c6}]+/8i
932    \x{01c4}\x{01c5}\x{01c6}
933
934/[z\x{01c7}]+/8i
935    \x{01c7}\x{01c8}\x{01c9}
936
937/[z\x{01c8}]+/8i
938    \x{01c7}\x{01c8}\x{01c9}
939
940/[z\x{01c9}]+/8i
941    \x{01c7}\x{01c8}\x{01c9}
942
943/[z\x{01ca}]+/8i
944    \x{01ca}\x{01cb}\x{01cc}
945
946/[z\x{01cb}]+/8i
947    \x{01ca}\x{01cb}\x{01cc}
948
949/[z\x{01cc}]+/8i
950    \x{01ca}\x{01cb}\x{01cc}
951
952/[z\x{01f1}]+/8i
953    \x{01f1}\x{01f2}\x{01f3}
954
955/[z\x{01f2}]+/8i
956    \x{01f1}\x{01f2}\x{01f3}
957
958/[z\x{01f3}]+/8i
959    \x{01f1}\x{01f2}\x{01f3}
960
961/[z\x{0345}]+/8i
962    \x{0345}\x{0399}\x{03b9}\x{1fbe}
963
964/[z\x{0399}]+/8i
965    \x{0345}\x{0399}\x{03b9}\x{1fbe}
966
967/[z\x{03b9}]+/8i
968    \x{0345}\x{0399}\x{03b9}\x{1fbe}
969
970/[z\x{1fbe}]+/8i
971    \x{0345}\x{0399}\x{03b9}\x{1fbe}
972
973/[z\x{0392}]+/8i
974    \x{0392}\x{03b2}\x{03d0}
975
976/[z\x{03b2}]+/8i
977    \x{0392}\x{03b2}\x{03d0}
978
979/[z\x{03d0}]+/8i
980    \x{0392}\x{03b2}\x{03d0}
981
982/[z\x{0395}]+/8i
983    \x{0395}\x{03b5}\x{03f5}
984
985/[z\x{03b5}]+/8i
986    \x{0395}\x{03b5}\x{03f5}
987
988/[z\x{03f5}]+/8i
989    \x{0395}\x{03b5}\x{03f5}
990
991/[z\x{0398}]+/8i
992    \x{0398}\x{03b8}\x{03d1}\x{03f4}
993
994/[z\x{03b8}]+/8i
995    \x{0398}\x{03b8}\x{03d1}\x{03f4}
996
997/[z\x{03d1}]+/8i
998    \x{0398}\x{03b8}\x{03d1}\x{03f4}
999
1000/[z\x{03f4}]+/8i
1001    \x{0398}\x{03b8}\x{03d1}\x{03f4}
1002
1003/[z\x{039a}]+/8i
1004    \x{039a}\x{03ba}\x{03f0}
1005
1006/[z\x{03ba}]+/8i
1007    \x{039a}\x{03ba}\x{03f0}
1008
1009/[z\x{03f0}]+/8i
1010    \x{039a}\x{03ba}\x{03f0}
1011
1012/[z\x{03a0}]+/8i
1013    \x{03a0}\x{03c0}\x{03d6}
1014
1015/[z\x{03c0}]+/8i
1016    \x{03a0}\x{03c0}\x{03d6}
1017
1018/[z\x{03d6}]+/8i
1019    \x{03a0}\x{03c0}\x{03d6}
1020
1021/[z\x{03a1}]+/8i
1022    \x{03a1}\x{03c1}\x{03f1}
1023
1024/[z\x{03c1}]+/8i
1025    \x{03a1}\x{03c1}\x{03f1}
1026
1027/[z\x{03f1}]+/8i
1028    \x{03a1}\x{03c1}\x{03f1}
1029
1030/[z\x{03a3}]+/8i
1031    \x{03A3}\x{03C2}\x{03C3}
1032
1033/[z\x{03c2}]+/8i
1034    \x{03A3}\x{03C2}\x{03C3}
1035
1036/[z\x{03c3}]+/8i
1037    \x{03A3}\x{03C2}\x{03C3}
1038
1039/[z\x{03a6}]+/8i
1040    \x{03a6}\x{03c6}\x{03d5}
1041
1042/[z\x{03c6}]+/8i
1043    \x{03a6}\x{03c6}\x{03d5}
1044
1045/[z\x{03d5}]+/8i
1046    \x{03a6}\x{03c6}\x{03d5}
1047
1048/[z\x{03c9}]+/8i
1049    \x{03c9}\x{03a9}\x{2126}
1050
1051/[z\x{03a9}]+/8i
1052    \x{03c9}\x{03a9}\x{2126}
1053
1054/[z\x{2126}]+/8i
1055    \x{03c9}\x{03a9}\x{2126}
1056
1057/[z\x{1e60}]+/8i
1058    \x{1e60}\x{1e61}\x{1e9b}
1059
1060/[z\x{1e61}]+/8i
1061    \x{1e60}\x{1e61}\x{1e9b}
1062
1063/[z\x{1e9b}]+/8i
1064    \x{1e60}\x{1e61}\x{1e9b}
1065
1066/-- Perl 5.12.4 gets these wrong, but 5.15.3 is OK --/
1067
1068/[z\x{004b}]+/8i
1069    \x{004b}\x{006b}\x{212a}
1070
1071/[z\x{006b}]+/8i
1072    \x{004b}\x{006b}\x{212a}
1073
1074/[z\x{212a}]+/8i
1075    \x{004b}\x{006b}\x{212a}
1076
1077/[z\x{0053}]+/8i
1078    \x{0053}\x{0073}\x{017f}
1079
1080/[z\x{0073}]+/8i
1081    \x{0053}\x{0073}\x{017f}
1082
1083/[z\x{017f}]+/8i
1084    \x{0053}\x{0073}\x{017f}
1085
1086/-- --/
1087
1088/(ΣΆΜΟΣ) \1/8i
1089    ΣΆΜΟΣ ΣΆΜΟΣ
1090    ΣΆΜΟΣ σάμος
1091    σάμος σάμος
1092    σάμος σάμοσ
1093    σάμος ΣΆΜΟΣ
1094
1095/(σάμος) \1/8i
1096    ΣΆΜΟΣ ΣΆΜΟΣ
1097    ΣΆΜΟΣ σάμος
1098    σάμος σάμος
1099    σάμος σάμοσ
1100    σάμος ΣΆΜΟΣ
1101
1102/(ΣΆΜΟΣ) \1*/8i
1103    ΣΆΜΟΣ\x20
1104    ΣΆΜΟΣ ΣΆΜΟΣσάμοςσάμος
1105
1106/-- Perl matches these --/
1107
1108/\x{00b5}+/8i
1109    \x{00b5}\x{039c}\x{03bc}
1110
1111/\x{039c}+/8i
1112    \x{00b5}\x{039c}\x{03bc}
1113
1114/\x{03bc}+/8i
1115    \x{00b5}\x{039c}\x{03bc}
1116
1117
1118/\x{00c5}+/8i
1119    \x{00c5}\x{00e5}\x{212b}
1120
1121/\x{00e5}+/8i
1122    \x{00c5}\x{00e5}\x{212b}
1123
1124/\x{212b}+/8i
1125    \x{00c5}\x{00e5}\x{212b}
1126
1127
1128/\x{01c4}+/8i
1129    \x{01c4}\x{01c5}\x{01c6}
1130
1131/\x{01c5}+/8i
1132    \x{01c4}\x{01c5}\x{01c6}
1133
1134/\x{01c6}+/8i
1135    \x{01c4}\x{01c5}\x{01c6}
1136
1137
1138/\x{01c7}+/8i
1139    \x{01c7}\x{01c8}\x{01c9}
1140
1141/\x{01c8}+/8i
1142    \x{01c7}\x{01c8}\x{01c9}
1143
1144/\x{01c9}+/8i
1145    \x{01c7}\x{01c8}\x{01c9}
1146
1147
1148/\x{01ca}+/8i
1149    \x{01ca}\x{01cb}\x{01cc}
1150
1151/\x{01cb}+/8i
1152    \x{01ca}\x{01cb}\x{01cc}
1153
1154/\x{01cc}+/8i
1155    \x{01ca}\x{01cb}\x{01cc}
1156
1157
1158/\x{01f1}+/8i
1159    \x{01f1}\x{01f2}\x{01f3}
1160
1161/\x{01f2}+/8i
1162    \x{01f1}\x{01f2}\x{01f3}
1163
1164/\x{01f3}+/8i
1165    \x{01f1}\x{01f2}\x{01f3}
1166
1167
1168/\x{0345}+/8i
1169    \x{0345}\x{0399}\x{03b9}\x{1fbe}
1170
1171/\x{0399}+/8i
1172    \x{0345}\x{0399}\x{03b9}\x{1fbe}
1173
1174/\x{03b9}+/8i
1175    \x{0345}\x{0399}\x{03b9}\x{1fbe}
1176
1177/\x{1fbe}+/8i
1178    \x{0345}\x{0399}\x{03b9}\x{1fbe}
1179
1180
1181/\x{0392}+/8i
1182    \x{0392}\x{03b2}\x{03d0}
1183
1184/\x{03b2}+/8i
1185    \x{0392}\x{03b2}\x{03d0}
1186
1187/\x{03d0}+/8i
1188    \x{0392}\x{03b2}\x{03d0}
1189
1190
1191/\x{0395}+/8i
1192    \x{0395}\x{03b5}\x{03f5}
1193
1194/\x{03b5}+/8i
1195    \x{0395}\x{03b5}\x{03f5}
1196
1197/\x{03f5}+/8i
1198    \x{0395}\x{03b5}\x{03f5}
1199
1200
1201/\x{0398}+/8i
1202    \x{0398}\x{03b8}\x{03d1}\x{03f4}
1203
1204/\x{03b8}+/8i
1205    \x{0398}\x{03b8}\x{03d1}\x{03f4}
1206
1207/\x{03d1}+/8i
1208    \x{0398}\x{03b8}\x{03d1}\x{03f4}
1209
1210/\x{03f4}+/8i
1211    \x{0398}\x{03b8}\x{03d1}\x{03f4}
1212
1213
1214/\x{039a}+/8i
1215    \x{039a}\x{03ba}\x{03f0}
1216
1217/\x{03ba}+/8i
1218    \x{039a}\x{03ba}\x{03f0}
1219
1220/\x{03f0}+/8i
1221    \x{039a}\x{03ba}\x{03f0}
1222
1223
1224/\x{03a0}+/8i
1225    \x{03a0}\x{03c0}\x{03d6}
1226
1227/\x{03c0}+/8i
1228    \x{03a0}\x{03c0}\x{03d6}
1229
1230/\x{03d6}+/8i
1231    \x{03a0}\x{03c0}\x{03d6}
1232
1233
1234/\x{03a1}+/8i
1235    \x{03a1}\x{03c1}\x{03f1}
1236
1237/\x{03c1}+/8i
1238    \x{03a1}\x{03c1}\x{03f1}
1239
1240/\x{03f1}+/8i
1241    \x{03a1}\x{03c1}\x{03f1}
1242
1243
1244/\x{03a3}+/8i
1245    \x{03A3}\x{03C2}\x{03C3}
1246
1247/\x{03c2}+/8i
1248    \x{03A3}\x{03C2}\x{03C3}
1249
1250/\x{03c3}+/8i
1251    \x{03A3}\x{03C2}\x{03C3}
1252
1253
1254/\x{03a6}+/8i
1255    \x{03a6}\x{03c6}\x{03d5}
1256
1257/\x{03c6}+/8i
1258    \x{03a6}\x{03c6}\x{03d5}
1259
1260/\x{03d5}+/8i
1261    \x{03a6}\x{03c6}\x{03d5}
1262
1263
1264/\x{03c9}+/8i
1265    \x{03c9}\x{03a9}\x{2126}
1266
1267/\x{03a9}+/8i
1268    \x{03c9}\x{03a9}\x{2126}
1269
1270/\x{2126}+/8i
1271    \x{03c9}\x{03a9}\x{2126}
1272
1273
1274/\x{1e60}+/8i
1275    \x{1e60}\x{1e61}\x{1e9b}
1276
1277/\x{1e61}+/8i
1278    \x{1e60}\x{1e61}\x{1e9b}
1279
1280/\x{1e9b}+/8i
1281    \x{1e60}\x{1e61}\x{1e9b}
1282
1283
1284/\x{1e9e}+/8i
1285    \x{1e9e}\x{00df}
1286
1287/\x{00df}+/8i
1288    \x{1e9e}\x{00df}
1289
1290
1291/\x{1f88}+/8i
1292    \x{1f88}\x{1f80}
1293
1294/\x{1f80}+/8i
1295    \x{1f88}\x{1f80}
1296
1297
1298/-- Perl 5.12.4 gets these wrong, but 5.15.3 is OK --/
1299
1300/\x{004b}+/8i
1301    \x{004b}\x{006b}\x{212a}
1302
1303/\x{006b}+/8i
1304    \x{004b}\x{006b}\x{212a}
1305
1306/\x{212a}+/8i
1307    \x{004b}\x{006b}\x{212a}
1308
1309
1310/\x{0053}+/8i
1311    \x{0053}\x{0073}\x{017f}
1312
1313/\x{0073}+/8i
1314    \x{0053}\x{0073}\x{017f}
1315
1316/\x{017f}+/8i
1317    \x{0053}\x{0073}\x{017f}
1318
1319/-- End of testinput6 --/
1320