| # There are two sorts of patterns in this test. A number of them are |
| # representative patterns whose lengths and offsets are checked. This is just a |
| # doublecheck test to ensure the sizes don't go horribly wrong when something |
| # is changed. The operation of these patterns is checked in other tests. |
| # |
| # This file also contains tests whose output varies with code unit size and/or |
| # link size. Unicode support is required for these tests. There are separate |
| # output files for each code unit size and link size. |
| |
| #pattern fullbincode,memory |
| |
| /((?i)b)/ |
| |
| /(?s)(.*X|^B)/ |
| |
| /(?s:.*X|^B)/ |
| |
| /^[[:alnum:]]/ |
| |
| /#/Ix |
| |
| /a#/Ix |
| |
| /x?+/ |
| |
| /x++/ |
| |
| /x{1,3}+/ |
| |
| /(x)*+/ |
| |
| /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/ |
| |
| "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" |
| |
| "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b" |
| |
| /(a(?1)b)/ |
| |
| /(a(?1)+b)/ |
| |
| /a(?P<name1>b|c)d(?P<longername2>e)/ |
| |
| /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/ |
| |
| /(?P<a>a)...(?P=a)bbb(?P>a)d/ |
| |
| /abc(?C255)de(?C)f/ |
| |
| /abcde/auto_callout |
| |
| /\x{100}/utf |
| |
| /\x{1000}/utf |
| |
| /\x{10000}/utf |
| |
| /\x{100000}/utf |
| |
| /\x{10ffff}/utf |
| |
| /\x{110000}/utf |
| |
| /[\x{ff}]/utf |
| |
| /[\x{100}]/utf |
| |
| /\x80/utf |
| |
| /\xff/utf |
| |
| /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf |
| |
| /\x{D55c}\x{ad6d}\x{C5B4}/I,utf |
| |
| /\x{65e5}\x{672c}\x{8a9e}/I,utf |
| |
| /[\x{100}]/utf |
| |
| /[Z\x{100}]/utf |
| |
| /^[\x{100}\E-\Q\E\x{150}]/utf |
| |
| /^[\QĀ\E-\QŐ\E]/utf |
| |
| /^[\QĀ\E-\QŐ\E/utf |
| |
| /[\p{L}]/ |
| |
| /[\p{^L}]/ |
| |
| /[\P{L}]/ |
| |
| /[\P{^L}]/ |
| |
| /[abc\p{L}\x{0660}]/utf |
| |
| /[\p{Nd}]/utf |
| |
| /[\p{Nd}+-]+/utf |
| |
| /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf |
| |
| /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf |
| |
| /[\x{105}-\x{109}]/i,utf |
| |
| /( ( (?(1)0|) )* )/x |
| |
| /( (?(1)0|)* )/x |
| |
| /[a]/ |
| |
| /[a]/utf |
| |
| /[\xaa]/ |
| |
| /[\xaa]/utf |
| |
| /[^a]/ |
| |
| /[^a]/utf |
| |
| /[^\xaa]/ |
| |
| /[^\xaa]/utf |
| |
| #pattern -memory |
| |
| /[^\d]/utf,ucp |
| |
| /[[:^alpha:][:^cntrl:]]+/utf,ucp |
| |
| /[[:^cntrl:][:^alpha:]]+/utf,ucp |
| |
| /[[:alpha:]]+/utf,ucp |
| |
| /[[:^alpha:]\S]+/utf,ucp |
| |
| /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/ |
| |
| /(((a\2)|(a*)\g<-1>))*a?/ |
| |
| /((?+1)(\1))/ |
| |
| "(?1)(?#?'){2}(a)" |
| |
| /.((?2)(?R)|\1|$)()/ |
| |
| /.((?3)(?R)()(?2)|\1|$)()/ |
| |
| /(?1)()((((((\1++))\x85)+)|))/ |
| |
| # Check the absolute limit on nesting (?| etc. This varies with code unit |
| # width because the workspace is a different number of bytes. It will fail |
| # with link size 2 in 8-bit and 16-bit but not in 32-bit. |
| |
| /(?|(?|(?J:(?|(?x:(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?| |
| ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
| /parens_nest_limit=1000,-fullbincode |
| |
| # Use "expand" to create some very long patterns with nested parentheses, in |
| # order to test workspace overflow. Again, this varies with code unit width, |
| # and even when it fails in two modes, the error offset differs. It also varies |
| # with link size - hence multiple tests with different values. |
| |
| /(?'ABC'\[[bar](]{792}*THEN:\[A]{255}\[)]{793}/expand,-fullbincode,parens_nest_limit=1000 |
| |
| /(?'ABC'\[[bar](]{793}*THEN:\[A]{255}\[)]{794}/expand,-fullbincode,parens_nest_limit=1000 |
| |
| /(?'ABC'\[[bar](]{1793}*THEN:\[A]{255}\[)]{1794}/expand,-fullbincode,parens_nest_limit=2000 |
| |
| /(?(1)(?1)){8,}+()/debug |
| abcd |
| |
| /(?(1)|a(?1)b){2,}+()/debug |
| abcde |
| |
| /((?1)(?2)(?3)(?4)(?5)(?6)(?7)(?8)(?9)(?9)(?8)(?7)(?6)(?5)(?4)(?3)(?2)(?1)(?0)){2,}()()()()()()()()()/debug |
| |
| /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/ |
| |
| /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode |
| |
| #pattern -fullbincode |
| |
| /\[()]{65535}/expand |
| |
| # End of testinput8 |