Home | History | Annotate | Download | only in testdata
      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