| # Tests of \C when Unicode support is available. Note that \C is not supported | |
| # for DFA matching in UTF mode, so this test is not run with -dfa. The output | |
| # of this test is different in 8-, 16-, and 32-bit modes. Some tests may match | |
| # in some widths and not in others. | |
| /ab\Cde/utf,info | |
| abXde | |
| # This should produce an error diagnostic (\C in UTF lookbehind) in 8-bit and | |
| # 16-bit modes, but not in 32-bit mode. | |
| /(?<=ab\Cde)X/utf | |
| ab!deXYZ | |
| # Autopossessification tests | |
| /\C+\X \X+\C/Bx | |
| /\C+\X \X+\C/Bx,utf | |
| /\C\X*TӅ; | |
| {0,6}\v+ F | |
| /utf | |
| \= Expect no match | |
| Ӆ\x0a | |
| /\C(\W?ſ)'?{{/utf | |
| \= Expect no match | |
| \\C(\\W?ſ)'?{{ | |
| /X(\C{3})/utf | |
| X\x{1234} | |
| X\x{11234}Y | |
| X\x{11234}YZ | |
| /X(\C{4})/utf | |
| X\x{1234}YZ | |
| X\x{11234}YZ | |
| X\x{11234}YZW | |
| /X\C*/utf | |
| XYZabcdce | |
| /X\C*?/utf | |
| XYZabcde | |
| /X\C{3,5}/utf | |
| Xabcdefg | |
| X\x{1234} | |
| X\x{1234}YZ | |
| X\x{1234}\x{512} | |
| X\x{1234}\x{512}YZ | |
| X\x{11234}Y | |
| X\x{11234}YZ | |
| X\x{11234}\x{512} | |
| X\x{11234}\x{512}YZ | |
| X\x{11234}\x{512}\x{11234}Z | |
| /X\C{3,5}?/utf | |
| Xabcdefg | |
| X\x{1234} | |
| X\x{1234}YZ | |
| X\x{1234}\x{512} | |
| X\x{11234}Y | |
| X\x{11234}YZ | |
| X\x{11234}\x{512}YZ | |
| X\x{11234} | |
| /a\Cb/utf | |
| aXb | |
| a\nb | |
| a\x{100}b | |
| /a\C\Cb/utf | |
| a\x{100}b | |
| a\x{12257}b | |
| a\x{12257}\x{11234}b | |
| /ab\Cde/utf | |
| abXde | |
| # This one is here not because it's different to Perl, but because the way | |
| # the captured single code unit is displayed. (In Perl it becomes a character, | |
| # and you can't tell the difference.) | |
| /X(\C)(.*)/utf | |
| X\x{1234} | |
| X\nabc | |
| # This one is here because Perl gives out a grumbly error message (quite | |
| # correctly, but that messes up comparisons). | |
| /a\Cb/utf | |
| \= Expect no match in 8-bit mode | |
| a\x{100}b | |
| /^ab\C/utf,no_start_optimize | |
| \= Expect no match - tests \C at end of subject | |
| ab | |
| /\C[^\v]+\x80/utf | |
| [AΏBŀC] | |
| /\C[^\d]+\x80/utf | |
| [AΏBŀC] | |
| # End of testinput22 | |