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 Ebrahimi abXde 8*22dc650dSSadaf Ebrahimi 9*22dc650dSSadaf Ebrahimi# This should produce an error diagnostic (\C in UTF lookbehind) in 8-bit and 10*22dc650dSSadaf Ebrahimi# 16-bit modes, but not in 32-bit mode. 11*22dc650dSSadaf Ebrahimi 12*22dc650dSSadaf Ebrahimi/(?<=ab\Cde)X/utf 13*22dc650dSSadaf Ebrahimi ab!deXYZ 14*22dc650dSSadaf Ebrahimi 15*22dc650dSSadaf Ebrahimi# Autopossessification tests 16*22dc650dSSadaf Ebrahimi 17*22dc650dSSadaf Ebrahimi/\C+\X \X+\C/Bx 18*22dc650dSSadaf Ebrahimi 19*22dc650dSSadaf Ebrahimi/\C+\X \X+\C/Bx,utf 20*22dc650dSSadaf Ebrahimi 21*22dc650dSSadaf Ebrahimi/\C\X*TӅ; 22*22dc650dSSadaf Ebrahimi{0,6}\v+ 23*22dc650dSSadaf EbrahimiF 24*22dc650dSSadaf Ebrahimi/utf 25*22dc650dSSadaf Ebrahimi\= Expect no match 26*22dc650dSSadaf Ebrahimi Ӆ\x0a 27*22dc650dSSadaf Ebrahimi 28*22dc650dSSadaf Ebrahimi/\C(\W?ſ)'?{{/utf 29*22dc650dSSadaf Ebrahimi\= Expect no match 30*22dc650dSSadaf Ebrahimi \\C(\\W?ſ)'?{{ 31*22dc650dSSadaf Ebrahimi 32*22dc650dSSadaf Ebrahimi/X(\C{3})/utf 33*22dc650dSSadaf Ebrahimi X\x{1234} 34*22dc650dSSadaf Ebrahimi X\x{11234}Y 35*22dc650dSSadaf Ebrahimi X\x{11234}YZ 36*22dc650dSSadaf Ebrahimi 37*22dc650dSSadaf Ebrahimi/X(\C{4})/utf 38*22dc650dSSadaf Ebrahimi X\x{1234}YZ 39*22dc650dSSadaf Ebrahimi X\x{11234}YZ 40*22dc650dSSadaf Ebrahimi X\x{11234}YZW 41*22dc650dSSadaf Ebrahimi 42*22dc650dSSadaf Ebrahimi/X\C*/utf 43*22dc650dSSadaf Ebrahimi XYZabcdce 44*22dc650dSSadaf Ebrahimi 45*22dc650dSSadaf Ebrahimi/X\C*?/utf 46*22dc650dSSadaf Ebrahimi XYZabcde 47*22dc650dSSadaf Ebrahimi 48*22dc650dSSadaf Ebrahimi/X\C{3,5}/utf 49*22dc650dSSadaf Ebrahimi Xabcdefg 50*22dc650dSSadaf Ebrahimi X\x{1234} 51*22dc650dSSadaf Ebrahimi X\x{1234}YZ 52*22dc650dSSadaf Ebrahimi X\x{1234}\x{512} 53*22dc650dSSadaf Ebrahimi X\x{1234}\x{512}YZ 54*22dc650dSSadaf Ebrahimi X\x{11234}Y 55*22dc650dSSadaf Ebrahimi X\x{11234}YZ 56*22dc650dSSadaf Ebrahimi X\x{11234}\x{512} 57*22dc650dSSadaf Ebrahimi X\x{11234}\x{512}YZ 58*22dc650dSSadaf Ebrahimi X\x{11234}\x{512}\x{11234}Z 59*22dc650dSSadaf Ebrahimi 60*22dc650dSSadaf Ebrahimi/X\C{3,5}?/utf 61*22dc650dSSadaf Ebrahimi Xabcdefg 62*22dc650dSSadaf Ebrahimi X\x{1234} 63*22dc650dSSadaf Ebrahimi X\x{1234}YZ 64*22dc650dSSadaf Ebrahimi X\x{1234}\x{512} 65*22dc650dSSadaf Ebrahimi X\x{11234}Y 66*22dc650dSSadaf Ebrahimi X\x{11234}YZ 67*22dc650dSSadaf Ebrahimi X\x{11234}\x{512}YZ 68*22dc650dSSadaf Ebrahimi X\x{11234} 69*22dc650dSSadaf Ebrahimi 70*22dc650dSSadaf Ebrahimi/a\Cb/utf 71*22dc650dSSadaf Ebrahimi aXb 72*22dc650dSSadaf Ebrahimi a\nb 73*22dc650dSSadaf Ebrahimi a\x{100}b 74*22dc650dSSadaf Ebrahimi 75*22dc650dSSadaf Ebrahimi/a\C\Cb/utf 76*22dc650dSSadaf Ebrahimi a\x{100}b 77*22dc650dSSadaf Ebrahimi a\x{12257}b 78*22dc650dSSadaf Ebrahimi a\x{12257}\x{11234}b 79*22dc650dSSadaf Ebrahimi 80*22dc650dSSadaf Ebrahimi/ab\Cde/utf 81*22dc650dSSadaf Ebrahimi abXde 82*22dc650dSSadaf Ebrahimi 83*22dc650dSSadaf Ebrahimi# This one is here not because it's different to Perl, but because the way 84*22dc650dSSadaf Ebrahimi# the captured single code unit is displayed. (In Perl it becomes a character, 85*22dc650dSSadaf Ebrahimi# and you can't tell the difference.) 86*22dc650dSSadaf Ebrahimi 87*22dc650dSSadaf Ebrahimi/X(\C)(.*)/utf 88*22dc650dSSadaf Ebrahimi X\x{1234} 89*22dc650dSSadaf Ebrahimi X\nabc 90*22dc650dSSadaf Ebrahimi 91*22dc650dSSadaf Ebrahimi# This one is here because Perl gives out a grumbly error message (quite 92*22dc650dSSadaf Ebrahimi# correctly, but that messes up comparisons). 93*22dc650dSSadaf Ebrahimi 94*22dc650dSSadaf Ebrahimi/a\Cb/utf 95*22dc650dSSadaf Ebrahimi\= Expect no match in 8-bit mode 96*22dc650dSSadaf Ebrahimi a\x{100}b 97*22dc650dSSadaf Ebrahimi 98*22dc650dSSadaf Ebrahimi/^ab\C/utf,no_start_optimize 99*22dc650dSSadaf Ebrahimi\= Expect no match - tests \C at end of subject 100*22dc650dSSadaf Ebrahimi ab 101*22dc650dSSadaf Ebrahimi 102*22dc650dSSadaf Ebrahimi/\C[^\v]+\x80/utf 103*22dc650dSSadaf Ebrahimi [AΏBŀC] 104*22dc650dSSadaf Ebrahimi 105*22dc650dSSadaf Ebrahimi/\C[^\d]+\x80/utf 106*22dc650dSSadaf Ebrahimi [AΏBŀC] 107*22dc650dSSadaf Ebrahimi 108# End of testinput22 109