Home | History | Annotate | Download | only in testdata
      1 # This set of tests is for the 16-bit and 32-bit libraries' basic (non-UTF)
      2 # features that are not compatible with the 8-bit library, or which give
      3 # different output in 16-bit or 32-bit mode. The output for the two widths is
      4 # different, so they have separate output files.
      5     
      6 #forbid_utf
      7 #newline_default LF ANY ANYCRLF
      8 
      9 /[^\x{c4}]/IB
     10   
     11 /\x{100}/I
     12 
     13 /  (?: [\040\t] |  \(
     14 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     15 \)  )*                          # optional leading comment
     16 (?:    (?:
     17 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
     18 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
     19 |
     20 " (?:                      # opening quote...
     21 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
     22 |                     #    or
     23 \\ [^\x80-\xff]           #   Escaped something (something != CR)
     24 )* "  # closing quote
     25 )                    # initial word
     26 (?:  (?: [\040\t] |  \(
     27 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     28 \)  )*  \.  (?: [\040\t] |  \(
     29 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     30 \)  )*   (?:
     31 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
     32 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
     33 |
     34 " (?:                      # opening quote...
     35 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
     36 |                     #    or
     37 \\ [^\x80-\xff]           #   Escaped something (something != CR)
     38 )* "  # closing quote
     39 )  )* # further okay, if led by a period
     40 (?: [\040\t] |  \(
     41 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     42 \)  )*  @  (?: [\040\t] |  \(
     43 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     44 \)  )*    (?:
     45 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
     46 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
     47 |   \[                         # [
     48 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
     49 \]                        #           ]
     50 )                           # initial subdomain
     51 (?:                                  #
     52 (?: [\040\t] |  \(
     53 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     54 \)  )*  \.                        # if led by a period...
     55 (?: [\040\t] |  \(
     56 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     57 \)  )*   (?:
     58 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
     59 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
     60 |   \[                         # [
     61 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
     62 \]                        #           ]
     63 )                     #   ...further okay
     64 )*
     65 # address
     66 |                     #  or
     67 (?:
     68 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
     69 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
     70 |
     71 " (?:                      # opening quote...
     72 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
     73 |                     #    or
     74 \\ [^\x80-\xff]           #   Escaped something (something != CR)
     75 )* "  # closing quote
     76 )             # one word, optionally followed by....
     77 (?:
     78 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
     79 \(
     80 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     81 \)       |  # comments, or...
     82 
     83 " (?:                      # opening quote...
     84 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
     85 |                     #    or
     86 \\ [^\x80-\xff]           #   Escaped something (something != CR)
     87 )* "  # closing quote
     88 # quoted strings
     89 )*
     90 <  (?: [\040\t] |  \(
     91 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     92 \)  )*                     # leading <
     93 (?:  @  (?: [\040\t] |  \(
     94 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     95 \)  )*    (?:
     96 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
     97 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
     98 |   \[                         # [
     99 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
    100 \]                        #           ]
    101 )                           # initial subdomain
    102 (?:                                  #
    103 (?: [\040\t] |  \(
    104 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    105 \)  )*  \.                        # if led by a period...
    106 (?: [\040\t] |  \(
    107 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    108 \)  )*   (?:
    109 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    110 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    111 |   \[                         # [
    112 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
    113 \]                        #           ]
    114 )                     #   ...further okay
    115 )*
    116 
    117 (?:  (?: [\040\t] |  \(
    118 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    119 \)  )*  ,  (?: [\040\t] |  \(
    120 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    121 \)  )*  @  (?: [\040\t] |  \(
    122 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    123 \)  )*    (?:
    124 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    125 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    126 |   \[                         # [
    127 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
    128 \]                        #           ]
    129 )                           # initial subdomain
    130 (?:                                  #
    131 (?: [\040\t] |  \(
    132 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    133 \)  )*  \.                        # if led by a period...
    134 (?: [\040\t] |  \(
    135 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    136 \)  )*   (?:
    137 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    138 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    139 |   \[                         # [
    140 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
    141 \]                        #           ]
    142 )                     #   ...further okay
    143 )*
    144 )* # further okay, if led by comma
    145 :                                # closing colon
    146 (?: [\040\t] |  \(
    147 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    148 \)  )*  )? #       optional route
    149 (?:
    150 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    151 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    152 |
    153 " (?:                      # opening quote...
    154 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
    155 |                     #    or
    156 \\ [^\x80-\xff]           #   Escaped something (something != CR)
    157 )* "  # closing quote
    158 )                    # initial word
    159 (?:  (?: [\040\t] |  \(
    160 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    161 \)  )*  \.  (?: [\040\t] |  \(
    162 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    163 \)  )*   (?:
    164 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    165 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    166 |
    167 " (?:                      # opening quote...
    168 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
    169 |                     #    or
    170 \\ [^\x80-\xff]           #   Escaped something (something != CR)
    171 )* "  # closing quote
    172 )  )* # further okay, if led by a period
    173 (?: [\040\t] |  \(
    174 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    175 \)  )*  @  (?: [\040\t] |  \(
    176 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    177 \)  )*    (?:
    178 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    179 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    180 |   \[                         # [
    181 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
    182 \]                        #           ]
    183 )                           # initial subdomain
    184 (?:                                  #
    185 (?: [\040\t] |  \(
    186 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    187 \)  )*  \.                        # if led by a period...
    188 (?: [\040\t] |  \(
    189 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    190 \)  )*   (?:
    191 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    192 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    193 |   \[                         # [
    194 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
    195 \]                        #           ]
    196 )                     #   ...further okay
    197 )*
    198 #       address spec
    199 (?: [\040\t] |  \(
    200 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    201 \)  )*  > #                  trailing >
    202 # name and address
    203 )  (?: [\040\t] |  \(
    204 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    205 \)  )*                       # optional trailing comment
    206 /Ix
    207 
    208 /[\h]/B
    209     >\x09<
    210 
    211 /[\h]+/B
    212     >\x09\x20\xa0<
    213 
    214 /[\v]/B
    215 
    216 /[^\h]/B
    217 
    218 /\h+/I
    219     \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
    220     \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
    221 
    222 /[\h\x{dc00}]+/IB
    223     \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
    224     \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
    225 
    226 /\H+/I
    227     \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
    228     \x{2000}\x{200a}\x{1fff}\x{200b}
    229     \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
    230     \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
    231 
    232 /[\H\x{d800}]+/
    233     \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
    234     \x{2000}\x{200a}\x{1fff}\x{200b}
    235     \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
    236     \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
    237 
    238 /\v+/I
    239     \x{2027}\x{2030}\x{2028}\x{2029}
    240     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
    241 
    242 /[\v\x{dc00}]+/IB
    243     \x{2027}\x{2030}\x{2028}\x{2029}
    244     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
    245 
    246 /\V+/I
    247     \x{2028}\x{2029}\x{2027}\x{2030}
    248     \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
    249 
    250 /[\V\x{d800}]+/
    251     \x{2028}\x{2029}\x{2027}\x{2030}
    252     \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
    253 
    254 /\R+/I,bsr=unicode
    255     \x{2027}\x{2030}\x{2028}\x{2029}
    256     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
    257 
    258 /\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I
    259     \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}
    260 
    261 /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/B
    262 
    263 /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/Bi
    264 
    265 /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/B
    266 
    267 /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/Bi
    268 
    269 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/mark
    270     XX
    271      
    272 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/mark
    273     XX
    274 
    275 /\u0100/B,alt_bsux,allow_empty_class,match_unset_backref
    276 
    277 /[\u0100-\u0200]/B,alt_bsux,allow_empty_class,match_unset_backref
    278 
    279 /\ud800/B,alt_bsux,allow_empty_class,match_unset_backref
    280 
    281 /^\x{ffff}+/i
    282     \x{ffff}
    283 
    284 /^\x{ffff}?/i
    285     \x{ffff}
    286 
    287 /^\x{ffff}*/i
    288     \x{ffff}
    289 
    290 /^\x{ffff}{3}/i
    291     \x{ffff}\x{ffff}\x{ffff}
    292 
    293 /^\x{ffff}{0,3}/i
    294     \x{ffff}
    295 
    296 /[^\x00-a]{12,}[^b-\xff]*/B
    297 
    298 /[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/B
    299 
    300 /a*[b-\x{200}]?a#a*[b-\x{200}]?b#[a-f]*[g-\x{200}]*#[g-\x{200}]*[a-c]*#[g-\x{200}]*[a-h]*/B
    301 
    302 /^[\x{1234}\x{4321}]{2,4}?/
    303     \x{1234}\x{1234}\x{1234}
    304 
    305 # Check maximum non-UTF character size for the 16-bit library.
    306 
    307 /\x{ffff}/
    308     A\x{ffff}B
    309 
    310 /\x{10000}/
    311 
    312 /\o{20000}/
    313 
    314 # Check maximum character size for the 32-bit library. These will all give
    315 # errors in the 16-bit library.
    316 
    317 /\x{110000}/
    318 
    319 /\x{7fffffff}/
    320 
    321 /\x{80000000}/
    322 
    323 /\x{ffffffff}/
    324 
    325 /\x{100000000}/
    326 
    327 /\o{17777777777}/
    328 
    329 /\o{20000000000}/
    330 
    331 /\o{37777777777}/
    332 
    333 /\o{40000000000}/
    334 
    335 /\x{7fffffff}\x{7fffffff}/I
    336 
    337 /\x{80000000}\x{80000000}/I
    338 
    339 /\x{ffffffff}\x{ffffffff}/I
    340 
    341 # Non-UTF characters 
    342 
    343 /.{2,3}/
    344     \x{400000}\x{400001}\x{400002}\x{400003}
    345 
    346 /\x{400000}\x{800000}/IBi
    347 
    348 # Check character ranges 
    349 
    350 /[\H]/IB
    351 
    352 /[\V]/IB
    353 
    354 /(*THEN:\[A]{65501})/expand
    355 
    356 # End of testinput11
    357