Home | History | Annotate | Download | only in testdata
      1 /-- This set of tests is for the 16- and 32-bit library's basic (non-UTF-16 
      2     or -32) features that are not compatible with the 8-bit library, or which 
      3     give different output in 16- or 32-bit mode. --/
      4     
      5 < forbid 8W 
      6 
      7 /a\Cb/
      8     aXb
      9     a\nb
     10   
     11 /[^\x{c4}]/DZ
     12   
     13 /\x{100}/I
     14 
     15 /  (?: [\040\t] |  \(
     16 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     17 \)  )*                          # optional leading comment
     18 (?:    (?:
     19 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
     20 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
     21 |
     22 " (?:                      # opening quote...
     23 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
     24 |                     #    or
     25 \\ [^\x80-\xff]           #   Escaped something (something != CR)
     26 )* "  # closing quote
     27 )                    # initial word
     28 (?:  (?: [\040\t] |  \(
     29 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     30 \)  )*  \.  (?: [\040\t] |  \(
     31 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     32 \)  )*   (?:
     33 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
     34 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
     35 |
     36 " (?:                      # opening quote...
     37 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
     38 |                     #    or
     39 \\ [^\x80-\xff]           #   Escaped something (something != CR)
     40 )* "  # closing quote
     41 )  )* # further okay, if led by a period
     42 (?: [\040\t] |  \(
     43 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     44 \)  )*  @  (?: [\040\t] |  \(
     45 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     46 \)  )*    (?:
     47 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
     48 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
     49 |   \[                         # [
     50 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
     51 \]                        #           ]
     52 )                           # initial subdomain
     53 (?:                                  #
     54 (?: [\040\t] |  \(
     55 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     56 \)  )*  \.                        # if led by a period...
     57 (?: [\040\t] |  \(
     58 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     59 \)  )*   (?:
     60 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
     61 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
     62 |   \[                         # [
     63 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
     64 \]                        #           ]
     65 )                     #   ...further okay
     66 )*
     67 # address
     68 |                     #  or
     69 (?:
     70 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
     71 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
     72 |
     73 " (?:                      # opening quote...
     74 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
     75 |                     #    or
     76 \\ [^\x80-\xff]           #   Escaped something (something != CR)
     77 )* "  # closing quote
     78 )             # one word, optionally followed by....
     79 (?:
     80 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037]  |  # atom and space parts, or...
     81 \(
     82 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     83 \)       |  # comments, or...
     84 
     85 " (?:                      # opening quote...
     86 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
     87 |                     #    or
     88 \\ [^\x80-\xff]           #   Escaped something (something != CR)
     89 )* "  # closing quote
     90 # quoted strings
     91 )*
     92 <  (?: [\040\t] |  \(
     93 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     94 \)  )*                     # leading <
     95 (?:  @  (?: [\040\t] |  \(
     96 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
     97 \)  )*    (?:
     98 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
     99 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    100 |   \[                         # [
    101 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
    102 \]                        #           ]
    103 )                           # initial subdomain
    104 (?:                                  #
    105 (?: [\040\t] |  \(
    106 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    107 \)  )*  \.                        # if led by a period...
    108 (?: [\040\t] |  \(
    109 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    110 \)  )*   (?:
    111 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    112 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    113 |   \[                         # [
    114 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
    115 \]                        #           ]
    116 )                     #   ...further okay
    117 )*
    118 
    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 \)  )*  @  (?: [\040\t] |  \(
    124 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    125 \)  )*    (?:
    126 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    127 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    128 |   \[                         # [
    129 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
    130 \]                        #           ]
    131 )                           # initial subdomain
    132 (?:                                  #
    133 (?: [\040\t] |  \(
    134 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    135 \)  )*  \.                        # if led by a period...
    136 (?: [\040\t] |  \(
    137 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    138 \)  )*   (?:
    139 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    140 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    141 |   \[                         # [
    142 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
    143 \]                        #           ]
    144 )                     #   ...further okay
    145 )*
    146 )* # further okay, if led by comma
    147 :                                # closing colon
    148 (?: [\040\t] |  \(
    149 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    150 \)  )*  )? #       optional route
    151 (?:
    152 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    153 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    154 |
    155 " (?:                      # opening quote...
    156 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
    157 |                     #    or
    158 \\ [^\x80-\xff]           #   Escaped something (something != CR)
    159 )* "  # closing quote
    160 )                    # initial word
    161 (?:  (?: [\040\t] |  \(
    162 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    163 \)  )*  \.  (?: [\040\t] |  \(
    164 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    165 \)  )*   (?:
    166 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    167 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    168 |
    169 " (?:                      # opening quote...
    170 [^\\\x80-\xff\n\015"]                #   Anything except backslash and quote
    171 |                     #    or
    172 \\ [^\x80-\xff]           #   Escaped something (something != CR)
    173 )* "  # closing quote
    174 )  )* # further okay, if led by a period
    175 (?: [\040\t] |  \(
    176 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    177 \)  )*  @  (?: [\040\t] |  \(
    178 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    179 \)  )*    (?:
    180 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    181 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    182 |   \[                         # [
    183 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
    184 \]                        #           ]
    185 )                           # initial subdomain
    186 (?:                                  #
    187 (?: [\040\t] |  \(
    188 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    189 \)  )*  \.                        # if led by a period...
    190 (?: [\040\t] |  \(
    191 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    192 \)  )*   (?:
    193 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+    # some number of atom characters...
    194 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
    195 |   \[                         # [
    196 (?: [^\\\x80-\xff\n\015\[\]] |  \\ [^\x80-\xff]  )*    #    stuff
    197 \]                        #           ]
    198 )                     #   ...further okay
    199 )*
    200 #       address spec
    201 (?: [\040\t] |  \(
    202 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    203 \)  )*  > #                  trailing >
    204 # name and address
    205 )  (?: [\040\t] |  \(
    206 (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  |  \( (?:  [^\\\x80-\xff\n\015()]  |  \\ [^\x80-\xff]  )* \)  )*
    207 \)  )*                       # optional trailing comment
    208 /xSI
    209 
    210 /[\h]/BZ
    211     >\x09<
    212 
    213 /[\h]+/BZ
    214     >\x09\x20\xa0<
    215 
    216 /[\v]/BZ
    217 
    218 /[^\h]/BZ
    219 
    220 /\h+/SI
    221     \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
    222     \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
    223 
    224 /[\h\x{dc00}]+/BZSI
    225     \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
    226     \x{3001}\x{2fff}\x{200a}\xa0\x{2000}
    227 
    228 /\H+/SI
    229     \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
    230     \x{2000}\x{200a}\x{1fff}\x{200b}
    231     \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
    232     \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
    233 
    234 /[\H\x{d800}]+/
    235     \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
    236     \x{2000}\x{200a}\x{1fff}\x{200b}
    237     \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
    238     \xa0\x{3000}\x9f\xa1\x{2fff}\x{3001}
    239 
    240 /\v+/SI
    241     \x{2027}\x{2030}\x{2028}\x{2029}
    242     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
    243 
    244 /[\v\x{dc00}]+/BZSI
    245     \x{2027}\x{2030}\x{2028}\x{2029}
    246     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
    247 
    248 /\V+/SI
    249     \x{2028}\x{2029}\x{2027}\x{2030}
    250     \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
    251 
    252 /[\V\x{d800}]+/
    253     \x{2028}\x{2029}\x{2027}\x{2030}
    254     \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86
    255 
    256 /\R+/SI<bsr_unicode>
    257     \x{2027}\x{2030}\x{2028}\x{2029}
    258     \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d
    259 
    260 /\x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}/I
    261     \x{d800}\x{d7ff}\x{dc00}\x{dc00}\x{dcff}\x{dd00}
    262 
    263 /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/BZ
    264 
    265 /[^\x{80}][^\x{ff}][^\x{100}][^\x{1000}][^\x{ffff}]/BZi
    266 
    267 /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/BZ
    268 
    269 /[^\x{100}]*[^\x{1000}]+[^\x{ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{100}]{5,6}+/BZi
    270 
    271 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/K
    272     XX
    273      
    274 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/K
    275     XX
    276 
    277 /\u0100/<JS>BZ
    278 
    279 /[\u0100-\u0200]/<JS>BZ
    280 
    281 /\ud800/<JS>BZ
    282 
    283 /^\x{ffff}+/i
    284     \x{ffff}
    285 
    286 /^\x{ffff}?/i
    287     \x{ffff}
    288 
    289 /^\x{ffff}*/i
    290     \x{ffff}
    291 
    292 /^\x{ffff}{3}/i
    293     \x{ffff}\x{ffff}\x{ffff}
    294 
    295 /^\x{ffff}{0,3}/i
    296     \x{ffff}
    297 
    298 /[^\x00-a]{12,}[^b-\xff]*/BZ
    299 
    300 /[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/BZ
    301 
    302 /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]*/BZ
    303 
    304 /^[\x{1234}\x{4321}]{2,4}?/
    305     \x{1234}\x{1234}\x{1234}
    306 
    307 /-- End of testinput17 --/
    308