1 # This set of tests is run only with the 8-bit library. They must not require 2 # UTF-8 or Unicode property support. */ 3 4 #forbid_utf 5 #newline_default lf any anycrlf 6 7 /ab/ 8 \= Expect error message (too big char) and no match 9 A\x{123}B 10 ** Character \x{123} is greater than 255 and UTF-8 mode is not enabled. 11 ** Truncation will probably give the wrong result. 12 No match 13 A\o{443}B 14 ** Character \x{123} is greater than 255 and UTF-8 mode is not enabled. 15 ** Truncation will probably give the wrong result. 16 No match 17 18 /\x{100}/I 19 Failed: error 134 at offset 6: character code point value in \x{} or \o{} is too large 20 21 /\o{400}/I 22 Failed: error 134 at offset 6: character code point value in \x{} or \o{} is too large 23 24 / (?: [\040\t] | \( 25 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 26 \) )* # optional leading comment 27 (?: (?: 28 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 29 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 30 | 31 " (?: # opening quote... 32 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 33 | # or 34 \\ [^\x80-\xff] # Escaped something (something != CR) 35 )* " # closing quote 36 ) # initial word 37 (?: (?: [\040\t] | \( 38 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 39 \) )* \. (?: [\040\t] | \( 40 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 41 \) )* (?: 42 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 43 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 44 | 45 " (?: # opening quote... 46 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 47 | # or 48 \\ [^\x80-\xff] # Escaped something (something != CR) 49 )* " # closing quote 50 ) )* # further okay, if led by a period 51 (?: [\040\t] | \( 52 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 53 \) )* @ (?: [\040\t] | \( 54 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 55 \) )* (?: 56 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 57 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 58 | \[ # [ 59 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 60 \] # ] 61 ) # initial subdomain 62 (?: # 63 (?: [\040\t] | \( 64 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 65 \) )* \. # if led by a period... 66 (?: [\040\t] | \( 67 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 68 \) )* (?: 69 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 70 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 71 | \[ # [ 72 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 73 \] # ] 74 ) # ...further okay 75 )* 76 # address 77 | # or 78 (?: 79 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 80 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 81 | 82 " (?: # opening quote... 83 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 84 | # or 85 \\ [^\x80-\xff] # Escaped something (something != CR) 86 )* " # closing quote 87 ) # one word, optionally followed by.... 88 (?: 89 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... 90 \( 91 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 92 \) | # comments, or... 93 94 " (?: # opening quote... 95 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 96 | # or 97 \\ [^\x80-\xff] # Escaped something (something != CR) 98 )* " # closing quote 99 # quoted strings 100 )* 101 < (?: [\040\t] | \( 102 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 103 \) )* # leading < 104 (?: @ (?: [\040\t] | \( 105 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 106 \) )* (?: 107 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 108 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 109 | \[ # [ 110 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 111 \] # ] 112 ) # initial subdomain 113 (?: # 114 (?: [\040\t] | \( 115 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 116 \) )* \. # if led by a period... 117 (?: [\040\t] | \( 118 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 119 \) )* (?: 120 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 121 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 122 | \[ # [ 123 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 124 \] # ] 125 ) # ...further okay 126 )* 127 128 (?: (?: [\040\t] | \( 129 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 130 \) )* , (?: [\040\t] | \( 131 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 132 \) )* @ (?: [\040\t] | \( 133 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 134 \) )* (?: 135 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 136 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 137 | \[ # [ 138 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 139 \] # ] 140 ) # initial subdomain 141 (?: # 142 (?: [\040\t] | \( 143 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 144 \) )* \. # if led by a period... 145 (?: [\040\t] | \( 146 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 147 \) )* (?: 148 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 149 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 150 | \[ # [ 151 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 152 \] # ] 153 ) # ...further okay 154 )* 155 )* # further okay, if led by comma 156 : # closing colon 157 (?: [\040\t] | \( 158 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 159 \) )* )? # optional route 160 (?: 161 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 162 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 163 | 164 " (?: # opening quote... 165 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 166 | # or 167 \\ [^\x80-\xff] # Escaped something (something != CR) 168 )* " # closing quote 169 ) # initial word 170 (?: (?: [\040\t] | \( 171 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 172 \) )* \. (?: [\040\t] | \( 173 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 174 \) )* (?: 175 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 176 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 177 | 178 " (?: # opening quote... 179 [^\\\x80-\xff\n\015"] # Anything except backslash and quote 180 | # or 181 \\ [^\x80-\xff] # Escaped something (something != CR) 182 )* " # closing quote 183 ) )* # further okay, if led by a period 184 (?: [\040\t] | \( 185 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 186 \) )* @ (?: [\040\t] | \( 187 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 188 \) )* (?: 189 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 190 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 191 | \[ # [ 192 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 193 \] # ] 194 ) # initial subdomain 195 (?: # 196 (?: [\040\t] | \( 197 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 198 \) )* \. # if led by a period... 199 (?: [\040\t] | \( 200 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 201 \) )* (?: 202 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 203 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 204 | \[ # [ 205 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 206 \] # ] 207 ) # ...further okay 208 )* 209 # address spec 210 (?: [\040\t] | \( 211 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 212 \) )* > # trailing > 213 # name and address 214 ) (?: [\040\t] | \( 215 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 216 \) )* # optional trailing comment 217 /Ix 218 Capturing subpattern count = 0 219 Contains explicit CR or LF match 220 Options: extended 221 Starting code units: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8 222 9 = ? 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 ^ _ ` a b c d e 223 f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f 224 Subject length lower bound = 3 225 226 /\h/I 227 Capturing subpattern count = 0 228 Starting code units: \x09 \x20 \xa0 229 Subject length lower bound = 1 230 231 /\H/I 232 Capturing subpattern count = 0 233 Subject length lower bound = 1 234 235 /\v/I 236 Capturing subpattern count = 0 237 Starting code units: \x0a \x0b \x0c \x0d \x85 238 Subject length lower bound = 1 239 240 /\V/I 241 Capturing subpattern count = 0 242 Subject length lower bound = 1 243 244 /\R/I 245 Capturing subpattern count = 0 246 Starting code units: \x0a \x0b \x0c \x0d \x85 247 Subject length lower bound = 1 248 249 /[\h]/B 250 ------------------------------------------------------------------ 251 Bra 252 [\x09 \xa0] 253 Ket 254 End 255 ------------------------------------------------------------------ 256 >\x09< 257 0: \x09 258 259 /[\h]+/B 260 ------------------------------------------------------------------ 261 Bra 262 [\x09 \xa0]++ 263 Ket 264 End 265 ------------------------------------------------------------------ 266 >\x09\x20\xa0< 267 0: \x09 \xa0 268 269 /[\v]/B 270 ------------------------------------------------------------------ 271 Bra 272 [\x0a-\x0d\x85] 273 Ket 274 End 275 ------------------------------------------------------------------ 276 277 /[\H]/B 278 ------------------------------------------------------------------ 279 Bra 280 [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff] 281 Ket 282 End 283 ------------------------------------------------------------------ 284 285 /[^\h]/B 286 ------------------------------------------------------------------ 287 Bra 288 [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff] (neg) 289 Ket 290 End 291 ------------------------------------------------------------------ 292 293 /[\V]/B 294 ------------------------------------------------------------------ 295 Bra 296 [\x00-\x09\x0e-\x84\x86-\xff] 297 Ket 298 End 299 ------------------------------------------------------------------ 300 301 /[\x0a\V]/B 302 ------------------------------------------------------------------ 303 Bra 304 [\x00-\x0a\x0e-\x84\x86-\xff] 305 Ket 306 End 307 ------------------------------------------------------------------ 308 309 /\777/I 310 Failed: error 151 at offset 3: octal value is greater than \377 in 8-bit non-UTF-8 mode 311 312 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/mark 313 Failed: error 176 at offset 259: name is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN) 314 XX 315 316 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/mark,alt_verbnames 317 Failed: error 176 at offset 258: name is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN) 318 XX 319 320 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/mark 321 XX 322 0: XX 323 MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE 324 325 /(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/mark,alt_verbnames 326 XX 327 0: XX 328 MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE 329 330 /\u0100/alt_bsux,allow_empty_class,match_unset_backref,dupnames 331 Failed: error 177 at offset 5: character code point value in \u.... sequence is too large 332 333 /[\u0100-\u0200]/alt_bsux,allow_empty_class,match_unset_backref,dupnames 334 Failed: error 177 at offset 6: character code point value in \u.... sequence is too large 335 336 /[^\x00-a]{12,}[^b-\xff]*/B 337 ------------------------------------------------------------------ 338 Bra 339 [b-\xff] (neg){12,}+ 340 [\x00-a] (neg)*+ 341 Ket 342 End 343 ------------------------------------------------------------------ 344 345 /[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/B 346 ------------------------------------------------------------------ 347 Bra 348 [\x00-\x08\x0e-\x1f!-\xff] (neg)*+ 349 \s* 350 351 [0-9A-Z_a-z]++ 352 \W+ 353 354 [\x00-/:-\xff] (neg)*+ 355 \d 356 0 357 [\x00-/:-@[-^`{-\xff] (neg){4,6}+ 358 \w* 359 A 360 Ket 361 End 362 ------------------------------------------------------------------ 363 364 /(*MARK:a\x{100}b)z/alt_verbnames 365 Failed: error 134 at offset 14: character code point value in \x{} or \o{} is too large 366 367 # End of testinput9 368