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