Home | History | Annotate | Download | only in testdata
      1 # This is a specialized test for checking, when PCRE2 is compiled with the
      2 # EBCDIC option but in an ASCII environment, that newline, white space, and \c
      3 # functionality is working. It catches cases where explicit values such as 0x0a
      4 # have been used instead of names like CHAR_LF. Needless to say, it is not a
      5 # genuine EBCDIC test! In patterns, alphabetic characters that follow a
      6 # backslash must be in EBCDIC code. In data, NL, NEL, LF, ESC, and DEL must be
      7 # in EBCDIC, but can of course be specified as escapes.
      8 
      9 # Test default newline and variations
     10 
     11 /^A/m
     12     ABC
     13     12\x15ABC
     14 
     15 /^A/m,newline=any
     16     12\x15ABC
     17     12\x0dABC
     18     12\x0d\x15ABC
     19     12\x25ABC
     20 
     21 /^A/m,newline=anycrlf
     22     12\x15ABC
     23     12\x0dABC
     24     12\x0d\x15ABC
     25     ** Fail
     26     12\x25ABC
     27 
     28 # Test \h
     29 
     30 /^A\/
     31     A B
     32     A\x41B 
     33 
     34 # Test \H
     35 
     36 /^A\/
     37     AB
     38     A\x42B 
     39     ** Fail
     40     A B
     41     A\x41B 
     42 
     43 # Test \R
     44 
     45 /^A\/
     46     A\x15B
     47     A\x0dB
     48     A\x25B
     49     A\x0bB
     50     A\x0cB
     51     ** Fail
     52     A B
     53 
     54 # Test \v
     55 
     56 /^A\/
     57     A\x15B
     58     A\x0dB
     59     A\x25B
     60     A\x0bB
     61     A\x0cB
     62     ** Fail
     63     A B
     64 
     65 # Test \V
     66 
     67 /^A\/
     68     A B
     69     ** Fail
     70     A\x15B
     71     A\x0dB
     72     A\x25B
     73     A\x0bB
     74     A\x0cB
     75     
     76 # For repeated items, use an atomic group so that the output is the same
     77 # for DFA matching (otherwise it may show multiple matches).
     78 
     79 # Test \h+
     80 
     81 /^A(?>\+)/
     82     A B
     83 
     84 # Test \H+
     85 
     86 /^A(?>\+)/
     87     AB
     88     ** Fail
     89     A B
     90 
     91 # Test \R+
     92 
     93 /^A(?>\+)/
     94     A\x15B
     95     A\x0dB
     96     A\x25B
     97     A\x0bB
     98     A\x0cB
     99     ** Fail
    100     A B
    101 
    102 # Test \v+
    103 
    104 /^A(?>\+)/
    105     A\x15B
    106     A\x0dB
    107     A\x25B
    108     A\x0bB
    109     A\x0cB
    110     ** Fail
    111     A B
    112 
    113 # Test \V+
    114 
    115 /^A(?>\+)/
    116     A B
    117     ** Fail
    118     A\x15B
    119     A\x0dB
    120     A\x25B
    121     A\x0bB
    122     A\x0cB
    123     
    124 # Test \c functionality 
    125     
    126 /\@\A\b\C\d\E\f\G\h\I\J\K\l\m\N\O\p\q\r\S\T\u\V\W\X\y\Z/
    127     \x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f
    128 
    129 /\[\\\]\^\_/
    130     \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f
    131     
    132 /\?/
    133     A\xffB
    134 
    135 /\&/
    136 
    137 # End
    138