1/-- This set of tests is run only with the 8-bit library. They do not require 2 UTF-8 or Unicode property support. The file starts with all the tests of 3 the POSIX interface, because that is supported only with the 8-bit library. 4 --/ 5 6< forbid 8W 7 8/abc/P 9 abc 10 *** Failers 11 12/^abc|def/P 13 abcdef 14 abcdef\B 15 16/.*((abc)$|(def))/P 17 defabc 18 \Zdefabc 19 20/the quick brown fox/P 21 the quick brown fox 22 *** Failers 23 The Quick Brown Fox 24 25/the quick brown fox/Pi 26 the quick brown fox 27 The Quick Brown Fox 28 29/abc.def/P 30 *** Failers 31 abc\ndef 32 33/abc$/P 34 abc 35 abc\n 36 37/(abc)\2/P 38 39/(abc\1)/P 40 abc 41 42/a*(b+)(z)(z)/P 43 aaaabbbbzzzz 44 aaaabbbbzzzz\O0 45 aaaabbbbzzzz\O1 46 aaaabbbbzzzz\O2 47 aaaabbbbzzzz\O3 48 aaaabbbbzzzz\O4 49 aaaabbbbzzzz\O5 50 51/ab.cd/P 52 ab-cd 53 ab=cd 54 ** Failers 55 ab\ncd 56 57/ab.cd/Ps 58 ab-cd 59 ab=cd 60 ab\ncd 61 62/a(b)c/PN 63 abc 64 65/a(?P<name>b)c/PN 66 abc 67 68/a?|b?/P 69 abc 70 ** Failers 71 ddd\N 72 73/\w+A/P 74 CDAAAAB 75 76/\w+A/PU 77 CDAAAAB 78 79/\Biss\B/I+P 80 Mississippi 81 82/abc/\P 83 84/-- End of POSIX tests --/ 85 86/a\Cb/ 87 aXb 88 a\nb 89 ** Failers (too big char) 90 A\x{123}B 91 A\o{443}B 92 93/\x{100}/I 94 95/\o{400}/I 96 97/ (?: [\040\t] | \( 98(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 99\) )* # optional leading comment 100(?: (?: 101[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 102(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 103| 104" (?: # opening quote... 105[^\\\x80-\xff\n\015"] # Anything except backslash and quote 106| # or 107\\ [^\x80-\xff] # Escaped something (something != CR) 108)* " # closing quote 109) # initial word 110(?: (?: [\040\t] | \( 111(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 112\) )* \. (?: [\040\t] | \( 113(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 114\) )* (?: 115[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 116(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 117| 118" (?: # opening quote... 119[^\\\x80-\xff\n\015"] # Anything except backslash and quote 120| # or 121\\ [^\x80-\xff] # Escaped something (something != CR) 122)* " # closing quote 123) )* # further okay, if led by a period 124(?: [\040\t] | \( 125(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 126\) )* @ (?: [\040\t] | \( 127(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 128\) )* (?: 129[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 130(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 131| \[ # [ 132(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 133\] # ] 134) # initial subdomain 135(?: # 136(?: [\040\t] | \( 137(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 138\) )* \. # if led by a period... 139(?: [\040\t] | \( 140(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 141\) )* (?: 142[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 143(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 144| \[ # [ 145(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 146\] # ] 147) # ...further okay 148)* 149# address 150| # or 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) # one word, optionally followed by.... 161(?: 162[^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or... 163\( 164(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 165\) | # comments, or... 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# quoted strings 173)* 174< (?: [\040\t] | \( 175(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 176\) )* # leading < 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 201(?: (?: [\040\t] | \( 202(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 203\) )* , (?: [\040\t] | \( 204(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 205\) )* @ (?: [\040\t] | \( 206(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 207\) )* (?: 208[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 209(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 210| \[ # [ 211(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 212\] # ] 213) # initial subdomain 214(?: # 215(?: [\040\t] | \( 216(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 217\) )* \. # if led by a period... 218(?: [\040\t] | \( 219(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 220\) )* (?: 221[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 222(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 223| \[ # [ 224(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 225\] # ] 226) # ...further okay 227)* 228)* # further okay, if led by comma 229: # closing colon 230(?: [\040\t] | \( 231(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 232\) )* )? # optional route 233(?: 234[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 235(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 236| 237" (?: # opening quote... 238[^\\\x80-\xff\n\015"] # Anything except backslash and quote 239| # or 240\\ [^\x80-\xff] # Escaped something (something != CR) 241)* " # closing quote 242) # initial word 243(?: (?: [\040\t] | \( 244(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 245\) )* \. (?: [\040\t] | \( 246(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 247\) )* (?: 248[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 249(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 250| 251" (?: # opening quote... 252[^\\\x80-\xff\n\015"] # Anything except backslash and quote 253| # or 254\\ [^\x80-\xff] # Escaped something (something != CR) 255)* " # closing quote 256) )* # further okay, if led by a period 257(?: [\040\t] | \( 258(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 259\) )* @ (?: [\040\t] | \( 260(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 261\) )* (?: 262[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 263(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 264| \[ # [ 265(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 266\] # ] 267) # initial subdomain 268(?: # 269(?: [\040\t] | \( 270(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 271\) )* \. # if led by a period... 272(?: [\040\t] | \( 273(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 274\) )* (?: 275[^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters... 276(?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom 277| \[ # [ 278(?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff 279\] # ] 280) # ...further okay 281)* 282# address spec 283(?: [\040\t] | \( 284(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 285\) )* > # trailing > 286# name and address 287) (?: [\040\t] | \( 288(?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )* 289\) )* # optional trailing comment 290/xSI 291 292/-- Although this saved pattern was compiled with link-size=2, it does no harm 293to run this test with other link sizes because it is going to generated a 294"compiled in wrong mode" error as soon as it is loaded, so the link size does 295not matter. --/ 296 297<!testsaved16 298 299<!testsaved32 300 301/\h/SI 302 303/\H/SI 304 305/\v/SI 306 307/\V/SI 308 309/\R/SI 310 311/[\h]/BZ 312 >\x09< 313 314/[\h]+/BZ 315 >\x09\x20\xa0< 316 317/[\v]/BZ 318 319/[\H]/BZ 320 321/[^\h]/BZ 322 323/[\V]/BZ 324 325/[\x0a\V]/BZ 326 327/\777/I 328 329/(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF)XX/K 330 XX 331 332/(*:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE)XX/K 333 XX 334 335/\u0100/<JS> 336 337/[\u0100-\u0200]/<JS> 338 339/[^\x00-a]{12,}[^b-\xff]*/BZ 340 341/[^\s]*\s* [^\W]+\W+ [^\d]*?\d0 [^\d\w]{4,6}?\w*A/BZ 342 343/(?'ABC'[bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar]([bar](*THEN:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/ 344 345/-- End of testinput14 --/ 346