1 # Tests of \C when Unicode support is available. Note that \C is not supported 2 # for DFA matching in UTF mode, so this test is not run with -dfa. The output 3 # of this test is different in 8-, 16-, and 32-bit modes. Some tests may match 4 # in some widths and not in others. 5 6 /ab\Cde/utf,info 7 abXde 8 9 # This should produce an error diagnostic (\C in UTF lookbehind) in 8-bit and 10 # 16-bit modes, but not in 32-bit mode. 11 12 /(?<=ab\Cde)X/utf 13 ab!deXYZ 14 15 # Autopossessification tests 16 17 /\C+\X \X+\C/Bx 18 19 /\C+\X \X+\C/Bx,utf 20 21 /\C\X*T; 22 {0,6}\v+ F 24 /utf 25 \= Expect no match 26 \x0a 27 28 /\C(\W?)'?{{/utf 29 \= Expect no match 30 \\C(\\W?)'?{{ 31 32 /X(\C{3})/utf 33 X\x{1234} 34 X\x{11234}Y 35 X\x{11234}YZ 36 37 /X(\C{4})/utf 38 X\x{1234}YZ 39 X\x{11234}YZ 40 X\x{11234}YZW 41 42 /X\C*/utf 43 XYZabcdce 44 45 /X\C*?/utf 46 XYZabcde 47 48 /X\C{3,5}/utf 49 Xabcdefg 50 X\x{1234} 51 X\x{1234}YZ 52 X\x{1234}\x{512} 53 X\x{1234}\x{512}YZ 54 X\x{11234}Y 55 X\x{11234}YZ 56 X\x{11234}\x{512} 57 X\x{11234}\x{512}YZ 58 X\x{11234}\x{512}\x{11234}Z 59 60 /X\C{3,5}?/utf 61 Xabcdefg 62 X\x{1234} 63 X\x{1234}YZ 64 X\x{1234}\x{512} 65 X\x{11234}Y 66 X\x{11234}YZ 67 X\x{11234}\x{512}YZ 68 X\x{11234} 69 70 /a\Cb/utf 71 aXb 72 a\nb 73 a\x{100}b 74 75 /a\C\Cb/utf 76 a\x{100}b 77 a\x{12257}b 78 a\x{12257}\x{11234}b 79 80 /ab\Cde/utf 81 abXde 82 83 # This one is here not because it's different to Perl, but because the way 84 # the captured single code unit is displayed. (In Perl it becomes a character, 85 # and you can't tell the difference.) 86 87 /X(\C)(.*)/utf 88 X\x{1234} 89 X\nabc 90 91 # This one is here because Perl gives out a grumbly error message (quite 92 # correctly, but that messes up comparisons). 93 94 /a\Cb/utf 95 \= Expect no match in 8-bit mode 96 a\x{100}b 97 98 # End of testinput22 99