xref: /aosp_15_r20/external/pcre/testdata/testoutput22-8 (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf Ebrahimi# Tests of \C when Unicode support is available. Note that \C is not supported
2*22dc650dSSadaf Ebrahimi# for DFA matching in UTF mode, so this test is not run with -dfa. The output
3*22dc650dSSadaf Ebrahimi# of this test is different in 8-, 16-, and 32-bit modes. Some tests may match
4*22dc650dSSadaf Ebrahimi# in some widths and not in others.
5*22dc650dSSadaf Ebrahimi
6*22dc650dSSadaf Ebrahimi/ab\Cde/utf,info
7*22dc650dSSadaf EbrahimiCapture group count = 0
8*22dc650dSSadaf EbrahimiContains \C
9*22dc650dSSadaf EbrahimiOptions: utf
10*22dc650dSSadaf EbrahimiFirst code unit = 'a'
11*22dc650dSSadaf EbrahimiLast code unit = 'e'
12*22dc650dSSadaf EbrahimiSubject length lower bound = 2
13*22dc650dSSadaf Ebrahimi    abXde
14*22dc650dSSadaf Ebrahimi 0: abXde
15*22dc650dSSadaf Ebrahimi
16*22dc650dSSadaf Ebrahimi# This should produce an error diagnostic (\C in UTF lookbehind) in 8-bit and
17*22dc650dSSadaf Ebrahimi# 16-bit modes, but not in 32-bit mode.
18*22dc650dSSadaf Ebrahimi
19*22dc650dSSadaf Ebrahimi/(?<=ab\Cde)X/utf
20*22dc650dSSadaf EbrahimiFailed: error 136 at offset 0: \C is not allowed in a lookbehind assertion in UTF-8 mode
21*22dc650dSSadaf Ebrahimi    ab!deXYZ
22*22dc650dSSadaf Ebrahimi
23*22dc650dSSadaf Ebrahimi# Autopossessification tests
24*22dc650dSSadaf Ebrahimi
25*22dc650dSSadaf Ebrahimi/\C+\X \X+\C/Bx
26*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
27*22dc650dSSadaf Ebrahimi        Bra
28*22dc650dSSadaf Ebrahimi        AllAny+
29*22dc650dSSadaf Ebrahimi        extuni
30*22dc650dSSadaf Ebrahimi        extuni+
31*22dc650dSSadaf Ebrahimi        AllAny
32*22dc650dSSadaf Ebrahimi        Ket
33*22dc650dSSadaf Ebrahimi        End
34*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
35*22dc650dSSadaf Ebrahimi
36*22dc650dSSadaf Ebrahimi/\C+\X \X+\C/Bx,utf
37*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
38*22dc650dSSadaf Ebrahimi        Bra
39*22dc650dSSadaf Ebrahimi        Anybyte+
40*22dc650dSSadaf Ebrahimi        extuni
41*22dc650dSSadaf Ebrahimi        extuni+
42*22dc650dSSadaf Ebrahimi        Anybyte
43*22dc650dSSadaf Ebrahimi        Ket
44*22dc650dSSadaf Ebrahimi        End
45*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
46*22dc650dSSadaf Ebrahimi
47*22dc650dSSadaf Ebrahimi/\C\X*TӅ;
48*22dc650dSSadaf Ebrahimi{0,6}\v+
49*22dc650dSSadaf EbrahimiF
50*22dc650dSSadaf Ebrahimi/utf
51*22dc650dSSadaf Ebrahimi\= Expect no match
52*22dc650dSSadaf Ebrahimi    Ӆ\x0a
53*22dc650dSSadaf EbrahimiNo match
54*22dc650dSSadaf Ebrahimi
55*22dc650dSSadaf Ebrahimi/\C(\W?ſ)'?{{/utf
56*22dc650dSSadaf Ebrahimi\= Expect no match
57*22dc650dSSadaf Ebrahimi    \\C(\\W?ſ)'?{{
58*22dc650dSSadaf EbrahimiNo match
59*22dc650dSSadaf Ebrahimi
60*22dc650dSSadaf Ebrahimi/X(\C{3})/utf
61*22dc650dSSadaf Ebrahimi    X\x{1234}
62*22dc650dSSadaf Ebrahimi 0: X\x{1234}
63*22dc650dSSadaf Ebrahimi 1: \x{1234}
64*22dc650dSSadaf Ebrahimi    X\x{11234}Y
65*22dc650dSSadaf Ebrahimi 0: X\x{f0}\x{91}\x{88}
66*22dc650dSSadaf Ebrahimi 1: \x{f0}\x{91}\x{88}
67*22dc650dSSadaf Ebrahimi    X\x{11234}YZ
68*22dc650dSSadaf Ebrahimi 0: X\x{f0}\x{91}\x{88}
69*22dc650dSSadaf Ebrahimi 1: \x{f0}\x{91}\x{88}
70*22dc650dSSadaf Ebrahimi
71*22dc650dSSadaf Ebrahimi/X(\C{4})/utf
72*22dc650dSSadaf Ebrahimi    X\x{1234}YZ
73*22dc650dSSadaf Ebrahimi 0: X\x{1234}Y
74*22dc650dSSadaf Ebrahimi 1: \x{1234}Y
75*22dc650dSSadaf Ebrahimi    X\x{11234}YZ
76*22dc650dSSadaf Ebrahimi 0: X\x{11234}
77*22dc650dSSadaf Ebrahimi 1: \x{11234}
78*22dc650dSSadaf Ebrahimi    X\x{11234}YZW
79*22dc650dSSadaf Ebrahimi 0: X\x{11234}
80*22dc650dSSadaf Ebrahimi 1: \x{11234}
81*22dc650dSSadaf Ebrahimi
82*22dc650dSSadaf Ebrahimi/X\C*/utf
83*22dc650dSSadaf Ebrahimi    XYZabcdce
84*22dc650dSSadaf Ebrahimi 0: XYZabcdce
85*22dc650dSSadaf Ebrahimi
86*22dc650dSSadaf Ebrahimi/X\C*?/utf
87*22dc650dSSadaf Ebrahimi    XYZabcde
88*22dc650dSSadaf Ebrahimi 0: X
89*22dc650dSSadaf Ebrahimi
90*22dc650dSSadaf Ebrahimi/X\C{3,5}/utf
91*22dc650dSSadaf Ebrahimi    Xabcdefg
92*22dc650dSSadaf Ebrahimi 0: Xabcde
93*22dc650dSSadaf Ebrahimi    X\x{1234}
94*22dc650dSSadaf Ebrahimi 0: X\x{1234}
95*22dc650dSSadaf Ebrahimi    X\x{1234}YZ
96*22dc650dSSadaf Ebrahimi 0: X\x{1234}YZ
97*22dc650dSSadaf Ebrahimi    X\x{1234}\x{512}
98*22dc650dSSadaf Ebrahimi 0: X\x{1234}\x{512}
99*22dc650dSSadaf Ebrahimi    X\x{1234}\x{512}YZ
100*22dc650dSSadaf Ebrahimi 0: X\x{1234}\x{512}
101*22dc650dSSadaf Ebrahimi    X\x{11234}Y
102*22dc650dSSadaf Ebrahimi 0: X\x{11234}Y
103*22dc650dSSadaf Ebrahimi    X\x{11234}YZ
104*22dc650dSSadaf Ebrahimi 0: X\x{11234}Y
105*22dc650dSSadaf Ebrahimi    X\x{11234}\x{512}
106*22dc650dSSadaf Ebrahimi 0: X\x{11234}\x{d4}
107*22dc650dSSadaf Ebrahimi    X\x{11234}\x{512}YZ
108*22dc650dSSadaf Ebrahimi 0: X\x{11234}\x{d4}
109*22dc650dSSadaf Ebrahimi    X\x{11234}\x{512}\x{11234}Z
110*22dc650dSSadaf Ebrahimi 0: X\x{11234}\x{d4}
111*22dc650dSSadaf Ebrahimi
112*22dc650dSSadaf Ebrahimi/X\C{3,5}?/utf
113*22dc650dSSadaf Ebrahimi    Xabcdefg
114*22dc650dSSadaf Ebrahimi 0: Xabc
115*22dc650dSSadaf Ebrahimi    X\x{1234}
116*22dc650dSSadaf Ebrahimi 0: X\x{1234}
117*22dc650dSSadaf Ebrahimi    X\x{1234}YZ
118*22dc650dSSadaf Ebrahimi 0: X\x{1234}
119*22dc650dSSadaf Ebrahimi    X\x{1234}\x{512}
120*22dc650dSSadaf Ebrahimi 0: X\x{1234}
121*22dc650dSSadaf Ebrahimi    X\x{11234}Y
122*22dc650dSSadaf Ebrahimi 0: X\x{f0}\x{91}\x{88}
123*22dc650dSSadaf Ebrahimi    X\x{11234}YZ
124*22dc650dSSadaf Ebrahimi 0: X\x{f0}\x{91}\x{88}
125*22dc650dSSadaf Ebrahimi    X\x{11234}\x{512}YZ
126*22dc650dSSadaf Ebrahimi 0: X\x{f0}\x{91}\x{88}
127*22dc650dSSadaf Ebrahimi    X\x{11234}
128*22dc650dSSadaf Ebrahimi 0: X\x{f0}\x{91}\x{88}
129*22dc650dSSadaf Ebrahimi
130*22dc650dSSadaf Ebrahimi/a\Cb/utf
131*22dc650dSSadaf Ebrahimi    aXb
132*22dc650dSSadaf Ebrahimi 0: aXb
133*22dc650dSSadaf Ebrahimi    a\nb
134*22dc650dSSadaf Ebrahimi 0: a\x{0a}b
135*22dc650dSSadaf Ebrahimi    a\x{100}b
136*22dc650dSSadaf EbrahimiNo match
137*22dc650dSSadaf Ebrahimi
138*22dc650dSSadaf Ebrahimi/a\C\Cb/utf
139*22dc650dSSadaf Ebrahimi    a\x{100}b
140*22dc650dSSadaf Ebrahimi 0: a\x{100}b
141*22dc650dSSadaf Ebrahimi    a\x{12257}b
142*22dc650dSSadaf EbrahimiNo match
143*22dc650dSSadaf Ebrahimi    a\x{12257}\x{11234}b
144*22dc650dSSadaf EbrahimiNo match
145*22dc650dSSadaf Ebrahimi
146*22dc650dSSadaf Ebrahimi/ab\Cde/utf
147*22dc650dSSadaf Ebrahimi    abXde
148*22dc650dSSadaf Ebrahimi 0: abXde
149*22dc650dSSadaf Ebrahimi
150*22dc650dSSadaf Ebrahimi# This one is here not because it's different to Perl, but because the way
151*22dc650dSSadaf Ebrahimi# the captured single code unit is displayed. (In Perl it becomes a character,
152*22dc650dSSadaf Ebrahimi# and you can't tell the difference.)
153*22dc650dSSadaf Ebrahimi
154*22dc650dSSadaf Ebrahimi/X(\C)(.*)/utf
155*22dc650dSSadaf Ebrahimi    X\x{1234}
156*22dc650dSSadaf Ebrahimi 0: X\x{1234}
157*22dc650dSSadaf Ebrahimi 1: \x{e1}
158*22dc650dSSadaf Ebrahimi 2: \x{88}\x{b4}
159*22dc650dSSadaf Ebrahimi    X\nabc
160*22dc650dSSadaf Ebrahimi 0: X\x{0a}abc
161*22dc650dSSadaf Ebrahimi 1: \x{0a}
162*22dc650dSSadaf Ebrahimi 2: abc
163*22dc650dSSadaf Ebrahimi
164*22dc650dSSadaf Ebrahimi# This one is here because Perl gives out a grumbly error message (quite
165*22dc650dSSadaf Ebrahimi# correctly, but that messes up comparisons).
166*22dc650dSSadaf Ebrahimi
167*22dc650dSSadaf Ebrahimi/a\Cb/utf
168*22dc650dSSadaf Ebrahimi\= Expect no match in 8-bit mode
169*22dc650dSSadaf Ebrahimi    a\x{100}b
170*22dc650dSSadaf EbrahimiNo match
171*22dc650dSSadaf Ebrahimi
172*22dc650dSSadaf Ebrahimi/^ab\C/utf,no_start_optimize
173*22dc650dSSadaf Ebrahimi\= Expect no match - tests \C at end of subject
174*22dc650dSSadaf Ebrahimi    ab
175*22dc650dSSadaf EbrahimiNo match
176*22dc650dSSadaf Ebrahimi
177*22dc650dSSadaf Ebrahimi/\C[^\v]+\x80/utf
178*22dc650dSSadaf Ebrahimi    [AΏBŀC]
179*22dc650dSSadaf EbrahimiNo match
180*22dc650dSSadaf Ebrahimi
181*22dc650dSSadaf Ebrahimi/\C[^\d]+\x80/utf
182*22dc650dSSadaf Ebrahimi    [AΏBŀC]
183*22dc650dSSadaf EbrahimiNo match
184*22dc650dSSadaf Ebrahimi
185# End of testinput22
186