108 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| # 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
 |