2015-11-14 08:22:34 -05:00
|
|
|
# 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.
|
2014-08-05 12:51:32 -04:00
|
|
|
|
|
|
|
#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
|
2015-11-14 08:22:34 -05:00
|
|
|
|
2014-08-05 12:51:32 -04:00
|
|
|
/\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?/
|
|
|
|
|
2015-03-01 13:34:05 -05:00
|
|
|
/((?+1)(\1))/
|
|
|
|
|
2015-03-29 07:15:32 -04:00
|
|
|
"(?1)(?#?'){2}(a)"
|
|
|
|
|
2015-05-03 12:46:56 -04:00
|
|
|
/.((?2)(?R)|\1|$)()/
|
|
|
|
|
|
|
|
/.((?3)(?R)()(?2)|\1|$)()/
|
|
|
|
|
2015-05-06 12:51:25 -04:00
|
|
|
/(?1)()((((((\1++))\x85)+)|))/
|
|
|
|
|
2015-06-03 13:18:06 -04:00
|
|
|
# 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
|
2015-11-14 08:22:34 -05:00
|
|
|
# with link size 2 in 8-bit and 16-bit but not in 32-bit.
|
|
|
|
|
2015-06-03 13:18:06 -04:00
|
|
|
/(?|(?|(?J:(?|(?x:(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|
|
|
|
|
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
|
|
|
|
/parens_nest_limit=1000,-fullbincode
|
|
|
|
|
2015-11-08 09:41:34 -05:00
|
|
|
# Use "expand" to create some very long patterns with nested parentheses, in
|
|
|
|
# order to test workspace overflow. Again, this varies with code unit width,
|
2015-11-14 08:22:34 -05:00
|
|
|
# and even with it fails in two modes, the error offset differs. It also varies
|
|
|
|
# with link size - hence multiple tests with different values.
|
2015-11-08 09:41:34 -05:00
|
|
|
|
|
|
|
/(?'ABC'\[[bar](]{105}*THEN:\[A]{255}\[)]{106}/expand,-fullbincode
|
|
|
|
|
|
|
|
/(?'ABC'\[[bar](]{106}*THEN:\[A]{255}\[)]{107}/expand,-fullbincode
|
|
|
|
|
2015-11-14 08:22:34 -05:00
|
|
|
/(?'ABC'\[[bar](]{159}*THEN:\[A]{255}\[)]{160}/expand,-fullbincode
|
|
|
|
|
|
|
|
/(?'ABC'\[[bar](]{199}*THEN:\[A]{255}\[)]{200}/expand,-fullbincode
|
|
|
|
|
|
|
|
/(?'ABC'\[[bar](]{299}*THEN:\[A]{255}\[)]{300}/expand,-fullbincode
|
|
|
|
|
2015-08-09 12:29:35 -04:00
|
|
|
/(?(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
|
|
|
|
|
2016-02-10 13:24:02 -05: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]([00](*ACCEPT)/
|
|
|
|
|
2016-02-13 10:30:29 -05: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]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
|
|
|
|
|
2014-08-05 12:51:32 -04:00
|
|
|
# End of testinput8
|