xref: /aosp_15_r20/external/pcre/testdata/testoutput22-32 (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 = 5
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 Ebrahimi    ab!deXYZ
21*22dc650dSSadaf Ebrahimi 0: X
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        AllAny+
40*22dc650dSSadaf Ebrahimi        extuni
41*22dc650dSSadaf Ebrahimi        extuni+
42*22dc650dSSadaf Ebrahimi        AllAny
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 EbrahimiNo match
63*22dc650dSSadaf Ebrahimi    X\x{11234}Y
64*22dc650dSSadaf EbrahimiNo match
65*22dc650dSSadaf Ebrahimi    X\x{11234}YZ
66*22dc650dSSadaf Ebrahimi 0: X\x{11234}YZ
67*22dc650dSSadaf Ebrahimi 1: \x{11234}YZ
68*22dc650dSSadaf Ebrahimi
69*22dc650dSSadaf Ebrahimi/X(\C{4})/utf
70*22dc650dSSadaf Ebrahimi    X\x{1234}YZ
71*22dc650dSSadaf EbrahimiNo match
72*22dc650dSSadaf Ebrahimi    X\x{11234}YZ
73*22dc650dSSadaf EbrahimiNo match
74*22dc650dSSadaf Ebrahimi    X\x{11234}YZW
75*22dc650dSSadaf Ebrahimi 0: X\x{11234}YZW
76*22dc650dSSadaf Ebrahimi 1: \x{11234}YZW
77*22dc650dSSadaf Ebrahimi
78*22dc650dSSadaf Ebrahimi/X\C*/utf
79*22dc650dSSadaf Ebrahimi    XYZabcdce
80*22dc650dSSadaf Ebrahimi 0: XYZabcdce
81*22dc650dSSadaf Ebrahimi
82*22dc650dSSadaf Ebrahimi/X\C*?/utf
83*22dc650dSSadaf Ebrahimi    XYZabcde
84*22dc650dSSadaf Ebrahimi 0: X
85*22dc650dSSadaf Ebrahimi
86*22dc650dSSadaf Ebrahimi/X\C{3,5}/utf
87*22dc650dSSadaf Ebrahimi    Xabcdefg
88*22dc650dSSadaf Ebrahimi 0: Xabcde
89*22dc650dSSadaf Ebrahimi    X\x{1234}
90*22dc650dSSadaf EbrahimiNo match
91*22dc650dSSadaf Ebrahimi    X\x{1234}YZ
92*22dc650dSSadaf Ebrahimi 0: X\x{1234}YZ
93*22dc650dSSadaf Ebrahimi    X\x{1234}\x{512}
94*22dc650dSSadaf EbrahimiNo match
95*22dc650dSSadaf Ebrahimi    X\x{1234}\x{512}YZ
96*22dc650dSSadaf Ebrahimi 0: X\x{1234}\x{512}YZ
97*22dc650dSSadaf Ebrahimi    X\x{11234}Y
98*22dc650dSSadaf EbrahimiNo match
99*22dc650dSSadaf Ebrahimi    X\x{11234}YZ
100*22dc650dSSadaf Ebrahimi 0: X\x{11234}YZ
101*22dc650dSSadaf Ebrahimi    X\x{11234}\x{512}
102*22dc650dSSadaf EbrahimiNo match
103*22dc650dSSadaf Ebrahimi    X\x{11234}\x{512}YZ
104*22dc650dSSadaf Ebrahimi 0: X\x{11234}\x{512}YZ
105*22dc650dSSadaf Ebrahimi    X\x{11234}\x{512}\x{11234}Z
106*22dc650dSSadaf Ebrahimi 0: X\x{11234}\x{512}\x{11234}Z
107*22dc650dSSadaf Ebrahimi
108*22dc650dSSadaf Ebrahimi/X\C{3,5}?/utf
109*22dc650dSSadaf Ebrahimi    Xabcdefg
110*22dc650dSSadaf Ebrahimi 0: Xabc
111*22dc650dSSadaf Ebrahimi    X\x{1234}
112*22dc650dSSadaf EbrahimiNo match
113*22dc650dSSadaf Ebrahimi    X\x{1234}YZ
114*22dc650dSSadaf Ebrahimi 0: X\x{1234}YZ
115*22dc650dSSadaf Ebrahimi    X\x{1234}\x{512}
116*22dc650dSSadaf EbrahimiNo match
117*22dc650dSSadaf Ebrahimi    X\x{11234}Y
118*22dc650dSSadaf EbrahimiNo match
119*22dc650dSSadaf Ebrahimi    X\x{11234}YZ
120*22dc650dSSadaf Ebrahimi 0: X\x{11234}YZ
121*22dc650dSSadaf Ebrahimi    X\x{11234}\x{512}YZ
122*22dc650dSSadaf Ebrahimi 0: X\x{11234}\x{512}Y
123*22dc650dSSadaf Ebrahimi    X\x{11234}
124*22dc650dSSadaf EbrahimiNo match
125*22dc650dSSadaf Ebrahimi
126*22dc650dSSadaf Ebrahimi/a\Cb/utf
127*22dc650dSSadaf Ebrahimi    aXb
128*22dc650dSSadaf Ebrahimi 0: aXb
129*22dc650dSSadaf Ebrahimi    a\nb
130*22dc650dSSadaf Ebrahimi 0: a\x{0a}b
131*22dc650dSSadaf Ebrahimi    a\x{100}b
132*22dc650dSSadaf Ebrahimi 0: a\x{100}b
133*22dc650dSSadaf Ebrahimi
134*22dc650dSSadaf Ebrahimi/a\C\Cb/utf
135*22dc650dSSadaf Ebrahimi    a\x{100}b
136*22dc650dSSadaf EbrahimiNo match
137*22dc650dSSadaf Ebrahimi    a\x{12257}b
138*22dc650dSSadaf EbrahimiNo match
139*22dc650dSSadaf Ebrahimi    a\x{12257}\x{11234}b
140*22dc650dSSadaf Ebrahimi 0: a\x{12257}\x{11234}b
141*22dc650dSSadaf Ebrahimi
142*22dc650dSSadaf Ebrahimi/ab\Cde/utf
143*22dc650dSSadaf Ebrahimi    abXde
144*22dc650dSSadaf Ebrahimi 0: abXde
145*22dc650dSSadaf Ebrahimi
146*22dc650dSSadaf Ebrahimi# This one is here not because it's different to Perl, but because the way
147*22dc650dSSadaf Ebrahimi# the captured single code unit is displayed. (In Perl it becomes a character,
148*22dc650dSSadaf Ebrahimi# and you can't tell the difference.)
149*22dc650dSSadaf Ebrahimi
150*22dc650dSSadaf Ebrahimi/X(\C)(.*)/utf
151*22dc650dSSadaf Ebrahimi    X\x{1234}
152*22dc650dSSadaf Ebrahimi 0: X\x{1234}
153*22dc650dSSadaf Ebrahimi 1: \x{1234}
154*22dc650dSSadaf Ebrahimi 2:
155*22dc650dSSadaf Ebrahimi    X\nabc
156*22dc650dSSadaf Ebrahimi 0: X\x{0a}abc
157*22dc650dSSadaf Ebrahimi 1: \x{0a}
158*22dc650dSSadaf Ebrahimi 2: abc
159*22dc650dSSadaf Ebrahimi
160*22dc650dSSadaf Ebrahimi# This one is here because Perl gives out a grumbly error message (quite
161*22dc650dSSadaf Ebrahimi# correctly, but that messes up comparisons).
162*22dc650dSSadaf Ebrahimi
163*22dc650dSSadaf Ebrahimi/a\Cb/utf
164*22dc650dSSadaf Ebrahimi\= Expect no match in 8-bit mode
165*22dc650dSSadaf Ebrahimi    a\x{100}b
166*22dc650dSSadaf Ebrahimi 0: a\x{100}b
167*22dc650dSSadaf Ebrahimi
168*22dc650dSSadaf Ebrahimi/^ab\C/utf,no_start_optimize
169*22dc650dSSadaf Ebrahimi\= Expect no match - tests \C at end of subject
170*22dc650dSSadaf Ebrahimi    ab
171*22dc650dSSadaf EbrahimiNo match
172*22dc650dSSadaf Ebrahimi
173*22dc650dSSadaf Ebrahimi/\C[^\v]+\x80/utf
174*22dc650dSSadaf Ebrahimi    [AΏBŀC]
175*22dc650dSSadaf EbrahimiNo match
176*22dc650dSSadaf Ebrahimi
177*22dc650dSSadaf Ebrahimi/\C[^\d]+\x80/utf
178*22dc650dSSadaf Ebrahimi    [AΏBŀC]
179*22dc650dSSadaf EbrahimiNo match
180*22dc650dSSadaf Ebrahimi
181# End of testinput22
182