Tidied up a lot of comments in the test files.

This commit is contained in:
Philip.Hazel 2015-09-16 16:49:48 +00:00
parent 36db5a4d5f
commit be7366f6f0
31 changed files with 3156 additions and 3989 deletions

723
testdata/testinput1 vendored

File diff suppressed because it is too large Load Diff

63
testdata/testinput10 vendored
View File

@ -38,16 +38,21 @@
/a\C\Cb/utf
a\x{100}b
** Failers
\= Expect no match
a\x{12257}b
# The next 3 patterns have UTF-8 errors
/[Ã]/utf
/Ã/utf
/ÃÃÃxxx/utf
# Now test subjects
/badutf/utf
\= Expect UTF-8 errors
X\xdf
XX\xef
XXX\xef\x80
@ -89,11 +94,13 @@
\xff
/badutf/utf
\= Expect UTF-8 errors
XX\xfb\x80\x80\x80\x80
XX\xfd\x80\x80\x80\x80\x80
XX\xf7\xbf\xbf\xbf
/shortutf/utf
\= Expect UTF-8 errors
XX\xdf\=ph
XX\xef\=ph
XX\xef\x80\=ph
@ -111,6 +118,7 @@
\xfd\x80\x80\x80\x80\=ph
/anything/utf
\= Expect UTF-8 errors
X\xc0\x80
XX\xc1\x8f
XXX\xe0\x9f\x80
@ -119,15 +127,16 @@
\xfc\x83\x80\x80\x80\x80
\xfe\x80\x80\x80\x80\x80
\xff\x80\x80\x80\x80\x80
\xf8\x88\x80\x80\x80
\xf9\x87\x80\x80\x80
\xfc\x84\x80\x80\x80\x80
\xfd\x83\x80\x80\x80\x80
\= Expect no match
\xc3\x8f
\xe0\xaf\x80
\xe1\x80\x80
\xf0\x9f\x80\x80
\xf1\x8f\x80\x80
\xf8\x88\x80\x80\x80
\xf9\x87\x80\x80\x80
\xfc\x84\x80\x80\x80\x80
\xfd\x83\x80\x80\x80\x80
\xf8\x88\x80\x80\x80\=no_utf_check
\xf9\x87\x80\x80\x80\=no_utf_check
\xfc\x84\x80\x80\x80\x80\=no_utf_check
@ -136,31 +145,38 @@
# Similar tests with offsets
/badutf/utf
\= Expect UTF-8 errors
X\xdfabcd
X\xdfabcd\=offset=1
\= Expect no match
X\xdfabcd\=offset=2
/(?<=x)badutf/utf
\= Expect UTF-8 errors
X\xdfabcd
X\xdfabcd\=offset=1
X\xdfabcd\=offset=2
X\xdfabcd\=offset=3
X\xdfabcd\xdf\=offset=3
\= Expect no match
X\xdfabcd\=offset=3
/(?<=xx)badutf/utf
\= Expect UTF-8 errors
X\xdfabcd
X\xdfabcd\=offset=1
X\xdfabcd\=offset=2
X\xdfabcd\=offset=3
/(?<=xxxx)badutf/utf
\= Expect UTF-8 errors
X\xdfabcd
X\xdfabcd\=offset=1
X\xdfabcd\=offset=2
X\xdfabcd\=offset=3
X\xdfabcd\=offset=6
X\xdfabc\xdf\=offset=6
X\xdfabc\xdf\=offset=7
\= Expect no match
X\xdfabcd\=offset=6
/\x{100}/IB,utf
@ -208,7 +224,7 @@
# correctly, but that messes up comparisons).
/a\Cb/utf
*** Failers
\= Expect no match
a\x{100}b
/[^ab\xC0-\xF0]/IB,utf
@ -216,7 +232,7 @@
\x{bf}
\x{100}
\x{1000}
*** Failers
\= Expect no match
\x{c0}
\x{f0}
@ -243,7 +259,6 @@
\x{100}
Z\x{100}
\x{100}Z
*** Failers
/[\xff]/IB,utf
>\x{ff}<
@ -265,21 +280,23 @@
# This tests the stricter UTF-8 check according to RFC 3629.
/X/utf
\= Expect UTF-8 errors
\x{d800}
\x{d800}\=no_utf_check
\x{da00}
\x{da00}\=no_utf_check
\x{dfff}
\x{dfff}\=no_utf_check
\x{110000}
\x{110000}\=no_utf_check
\x{2000000}
\x{2000000}\=no_utf_check
\x{7fffffff}
\= Expect no match
\x{d800}\=no_utf_check
\x{da00}\=no_utf_check
\x{dfff}\=no_utf_check
\x{110000}\=no_utf_check
\x{2000000}\=no_utf_check
\x{7fffffff}\=no_utf_check
/(*UTF8)\x{1234}/
abcd\x{1234}pqr
abcd\x{1234}pqr
/(*CRLF)(*UTF)(*BSR_UNICODE)a\Rb/I
@ -319,11 +336,14 @@
/a+/utf
a\x{123}aa\=offset=1
a\x{123}aa\=offset=2
a\x{123}aa\=offset=3
a\x{123}aa\=offset=4
a\x{123}aa\=offset=5
\= Expect bad offset value
a\x{123}aa\=offset=6
\= Expect bad UTF-8 offset
a\x{123}aa\=offset=2
\= Expect no match
a\x{123}aa\=offset=5
/\x{1234}+/Ii,utf
@ -424,7 +444,6 @@
Z\x{100}
\x{100}
\x{100}Z
*** Failers
/[z-\x{100}]/IB,utf
@ -450,7 +469,7 @@
\x{104}
\x{105}
\x{109}
** Failers
\= Expect no match
\x{100}
\x{10a}
@ -464,7 +483,7 @@
\x{ff}
\x{100}
\x{101}
** Failers
\= Expect no match
\x{102}
Y
y
@ -474,6 +493,6 @@
/\x{3a3}B/IBi,utf
/abc/utf,replace=Ã
abc
abc
# End of testinput10

42
testdata/testinput12 vendored
View File

@ -34,7 +34,7 @@
X\x{11234}Y
X\x{11234}YZ
X\x{11234}\x{512}YZ
*** Failers
\= Expect no match
X\x{11234}
/a\Cb/utf
@ -43,8 +43,8 @@
/a\C\Cb/utf
a\x{12257}b
\= Expect no match
a\x{12257}\x{11234}b
** Failers
a\x{100}b
/ab\Cde/utf
@ -90,19 +90,14 @@
/\x{212ab}/IB,utf
# This one is here not because it's different to Perl, but because the way
# the captured single-byte is displayed. (In Perl it becomes a character, and you
# can't tell the difference.)
# These two \C tests, copied from the UTF-8 input file, do not have any
# problems in 16 or 32 bits.
/X(\C)(.*)/utf
X\x{1234}
X\nabc
# This one is here because Perl gives out a grumbly error message (quite
# correctly, but that messes up comparisons).
/a\Cb/utf
*** Failers
a\x{100}b
/[^ab\xC0-\xF0]/IB,utf
@ -110,7 +105,7 @@
\x{bf}
\x{100}
\x{1000}
*** Failers
\= Expect no match
\x{c0}
\x{f0}
@ -137,7 +132,6 @@
\x{100}
Z\x{100}
\x{100}Z
*** Failers
/[\xff]/IB,utf
>\x{ff}<
@ -157,19 +151,21 @@
/^[\QĀ\E-\QŐ\E/B,utf
/X/utf
XX\x{d800}
XX\x{d800}\=offset=3
XX\x{d800}\=no_utf_check
XX\x{da00}
XX\x{da00}\=no_utf_check
XX\x{dc00}
XX\x{dc00}\=no_utf_check
XX\x{de00}
XX\x{de00}\=no_utf_check
XX\x{dfff}
XX\x{dfff}\=no_utf_check
\= Expect UTF error
XX\x{d800}
XX\x{da00}
XX\x{dc00}
XX\x{de00}
XX\x{dfff}
XX\x{110000}
XX\x{d800}\x{1234}
\= Expect no match
XX\x{d800}\=offset=3
/(?<=.)X/utf
XX\x{d800}\=offset=3
@ -233,7 +229,9 @@
a\x{123}aa\=offset=1
a\x{123}aa\=offset=2
a\x{123}aa\=offset=3
\= Expect no match
a\x{123}aa\=offset=4
\= Expect bad offset error
a\x{123}aa\=offset=5
a\x{123}aa\=offset=6
@ -254,11 +252,16 @@
# Check bad offset
/a/utf
\= Expect bad UTF-16 offset, or no match in 32-bit
\x{10000}\=offset=1
\x{10000}ab\=offset=1
\= Expect 16-bit match, 32-bit no match
\x{10000}ab\=offset=2
\= Expect no match
\x{10000}ab\=offset=3
\= Expect no match in 16-bit, bad offset in 32-bit
\x{10000}ab\=offset=4
\= Expect bad offset
\x{10000}ab\=offset=5
/<2F><><EFBFBD>/utf
@ -345,7 +348,6 @@
Z\x{100}
\x{100}
\x{100}Z
*** Failers
/[z-\x{100}]/IB,utf
@ -371,7 +373,7 @@
\x{104}
\x{105}
\x{109}
** Failers
\= Expect no match
\x{100}
\x{10a}
@ -385,7 +387,7 @@
\x{ff}
\x{100}
\x{101}
** Failers
\= Expect no match
\x{102}
Y
y

21
testdata/testinput17 vendored
View File

@ -18,28 +18,33 @@
/abcd/I
abcd
\= Expect no match
xyz
/(*NO_JIT)abcd/I
abcd
\= Expect no match
xyz
/abcd/
abcd
ab\=ps
ab\=ph
\= Expect no match
xyz
/abcd/jitfast
abcd
ab\=ps
ab\=ph
\= Expect no match
xyz
/abcd/jit=1
abcd
ab\=ps
ab\=ph
\= Expect no match
xyz
xyz\=ps
@ -47,13 +52,15 @@
abcd
ab\=ps
ab\=ph
xyz
xyz\=ps
\= Expect no match
xyz
/abcd/jit=2
abcd
ab\=ps
ab\=ph
\= Expect no match
xyz
/abcd/jit=2,jitfast
@ -66,35 +73,41 @@
abcd
ab\=ps
ab\=ph
\= Expect no match
xyz
/abcd/jit=4
abcd
ab\=ps
ab\=ph
\= Expect no match
xyz
/abcd/jit=5
abcd
ab\=ps
ab\=ph
\= Expect no match
xyz
/abcd/jit=6
abcd
ab\=ps
ab\=ph
\= Expect no match
xyz
/abcd/jit=7
abcd
ab\=ps
ab\=ph
\= Expect no match
xyz
/abcd/I,jit=2
/(*NO_START_OPT)a(*:m)b/mark
\= Expect no match
a
/^12345678abcd/m
@ -104,6 +117,7 @@
/(a+)*zz/I
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\=find_limits
\= Expect no match
aaaaaaaaaaaaaz\=find_limits
!((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)!I
@ -140,7 +154,9 @@
aabbccddee\=jitstack=1
/(a+)*zz/
\= Expect no match
aaaaaaaaaaaaaz
\= Expect limit exceeded
aaaaaaaaaaaaaz\=match_limit=3000
/(*LIMIT_MATCH=3000)(a+)*zz/I
@ -151,7 +167,9 @@
aaaaaaaaaaaaaz
/(*LIMIT_MATCH=60000)(a+)*zz/I
\= Expect no match
aaaaaaaaaaaaaz
\= Expect limit exceeded
aaaaaaaaaaaaaz\=match_limit=3000
# These three have infinitely nested recursions.
@ -171,6 +189,7 @@
/abcd/
abcd\=anchored
\= Expect no match
fail abcd\=anchored
/abcd/jitfast

10
testdata/testinput18 vendored
View File

@ -19,7 +19,6 @@
/abc/
abc
*** Failers
/^abc|def/
abcdef
@ -31,7 +30,7 @@
/the quick brown fox/
the quick brown fox
*** Failers
\= Expect no match
The Quick Brown Fox
/the quick brown fox/i
@ -39,7 +38,7 @@
The Quick Brown Fox
/(*LF)abc.def/
*** Failers
\= Expect no match
abc\ndef
/(*LF)abc$/
@ -49,6 +48,7 @@
/(abc)\2/
/(abc\1)/
\= Expect no match
abc
/a*(b+)(z)(z)/
@ -60,7 +60,7 @@
/(*ANY)ab.cd/
ab-cd
ab=cd
** Failers
\= Expect no match
ab\ncd
/ab.cd/s
@ -76,7 +76,7 @@
/a?|b?/
abc
** Failers
\= Expect no match
ddd\=notempty
/\w+A/

View File

@ -9,6 +9,7 @@
a\x{1234}b
/\w/
\= Expect no match
+++\x{c2}
/\w/ucp

357
testdata/testinput2 vendored

File diff suppressed because it is too large Load Diff

View File

@ -36,6 +36,7 @@
#pop mark
C
\= Expect no match
D
#pop

18
testdata/testinput3 vendored
View File

@ -8,35 +8,35 @@
#forbid_utf
/^[\w]+/
*** Failers
\= Expect no match
École
/^[\w]+/locale=fr_FR
École
/^[\w]+/
*** Failers
\= Expect no match
École
/^[\W]+/
École
/^[\W]+/locale=fr_FR
*** Failers
\= Expect no match
École
/[\b]/
\b
*** Failers
\= Expect no match
a
/[\b]/locale=fr_FR
\b
*** Failers
\= Expect no match
a
/^\w+/
*** Failers
\= Expect no match
École
/^\w+/locale=fr_FR
@ -46,12 +46,12 @@
École
/(.+)\b(.+)/locale=fr_FR
*** Failers
\= Expect no match
École
/École/i
École
*** Failers
\= Expect no match
école
/École/i,locale=fr_FR
@ -72,7 +72,7 @@
/^[\xc8-\xc9]/
École
*** Failers
\= Expect no match
école
/\W+/

490
testdata/testinput4 vendored

File diff suppressed because it is too large Load Diff

124
testdata/testinput5 vendored
View File

@ -11,11 +11,11 @@
# test 4.
/^[\p{Arabic}]/utf
** Failers
\= Expect no match
\x{061c}
/^[[:graph:]]+$/utf,ucp
** Failers
\= Expect no match
\x{61c}
\x{2066}
\x{2067}
@ -23,7 +23,7 @@
\x{2069}
/^[[:print:]]+$/utf,ucp
** Failers
\= Expect no match
\x{61c}
\x{2066}
\x{2067}
@ -54,6 +54,7 @@
A\x{85}\x{2005}Z
/^[[:graph:]]+$/utf,ucp
\= Expect no match
\x{180e}
/^[[:print:]]+$/utf,ucp
@ -63,6 +64,7 @@
\x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{61c}\x{1680}\x{180e}
/^[[:^print:]]+$/utf,ucp
\= Expect no match
\x{180e}
# End of U+180E tests.
@ -114,7 +116,7 @@
/^[ab]/IB,utf
bar
*** Failers
\= Expect no match
c
\x{ff}
\x{100}
@ -123,7 +125,7 @@
c
\x{ff}
\x{100}
*** Failers
\= Expect no match
aaa
/\x{100}*(\d+|"(?1)")/utf
@ -133,7 +135,7 @@
"\x{100}1234"
\x{100}\x{100}12ab
\x{100}\x{100}"12"
*** Failers
\= Expect no match
\x{100}\x{100}abcd
/\x{100}*/IB,utf
@ -147,7 +149,7 @@
/[Ā-Ą]/utf
\x{100}
\x{104}
*** Failers
\= Expect no match
\x{105}
\x{ff}
@ -217,7 +219,7 @@
a\x{85}b
a\x{2028}b
a\x{2029}b
** Failers
\= Expect no match
a\n\rb
/^a\R*b/bsr=unicode,utf
@ -240,7 +242,7 @@
a\x{85}b
a\n\rb
a\n\r\x{85}\x0cb
** Failers
\= Expect no match
ab
/^a\R{1,3}b/bsr=unicode,utf
@ -251,34 +253,34 @@
a\r\n\r\n\r\nb
a\n\r\n\rb
a\n\n\r\nb
** Failers
\= Expect no match
a\n\n\n\rb
a\r
/\H\h\V\v/utf
X X\x0a
X\x09X\x0b
** Failers
\= Expect no match
\x{a0} X\x0a
/\H*\h+\V?\v{3,4}/utf
\x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
\x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
\x09\x20\x{a0}\x0a\x0b\x0c
** Failers
\= Expect no match
\x09\x20\x{a0}\x0a\x0b
/\H\h\V\v/utf
\x{3001}\x{3000}\x{2030}\x{2028}
X\x{180e}X\x{85}
** Failers
\= Expect no match
\x{2009} X\x0a
/\H*\h+\V?\v{3,4}/utf
\x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
\x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
\x09\x20\x{202f}\x0a\x0b\x0c
** Failers
\= Expect no match
\x09\x{200a}\x{a0}\x{2028}\x0b
/[\h]/B,utf
@ -300,7 +302,7 @@
a\rb
a\nb
a\r\nb
** Failers
\= Expect no match
a\x{85}b
a\x0bb
@ -315,7 +317,7 @@
a\rb
a\nb
a\r\nb
** Failers
\= Expect no match
a\x{85}b
a\x0bb
@ -325,11 +327,10 @@
a\r\nb
a\x{85}b
a\x0bb
** Failers
/.*a.*=.b.*/utf,newline=any
QQQ\x{2029}ABCaXYZ=!bPQR
** Failers
\= Expect no match
a\x{2029}b
\x61\xe2\x80\xa9\x62
@ -338,13 +339,13 @@
/a[^]b/utf,alt_bsux,allow_empty_class,match_unset_backref
a\x{1234}b
a\nb
** Failers
\= Expect no match
ab
/a[^]+b/utf,alt_bsux,allow_empty_class,match_unset_backref
aXb
a\nX\nX\x{1234}b
** Failers
\= Expect no match
ab
/(\x{de})\1/
@ -396,6 +397,7 @@
X\x{123}\x{123}\x{123}\x{123}\=ps
/X\x{123}{2,4}b/utf
\= Expect no match
Xx\=ps
X\x{123}x\=ps
X\x{123}\x{123}x\=ps
@ -403,6 +405,7 @@
X\x{123}\x{123}\x{123}\x{123}x\=ps
/X\x{123}{2,4}?b/utf
\= Expect no match
Xx\=ps
X\x{123}x\=ps
X\x{123}\x{123}x\=ps
@ -410,6 +413,7 @@
X\x{123}\x{123}\x{123}\x{123}x\=ps
/X\x{123}{2,4}+b/utf
\= Expect no match
Xx\=ps
X\x{123}x\=ps
X\x{123}\x{123}x\=ps
@ -804,6 +808,7 @@
/(?<=\x{1234}\x{1234})\bxy/I,utf
/(?<!^)ETA/utf
\= Expect no match
ETA
/\u0100/B,utf,alt_bsux,allow_empty_class,match_unset_backref
@ -834,7 +839,7 @@
1234
12-34
12+\x{661}-34
** Failers
\= Expect no match
abcd
/(?:[\PPa*]*){8,}/
@ -901,7 +906,7 @@
/^\p{Cs}/utf
\x{dfff}\=no_utf_check
** Failers
\= Expect no match
\x{09f}
/^\p{Mn}/utf
@ -918,7 +923,7 @@
/^\p{Sc}+/utf
$\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
\x{9f2}
** Failers
\= Expect no match
X
\x{2c2}
@ -928,7 +933,7 @@
\x{1680}
\x{2000}
\x{2001}
** Failers
\= Expect no match
\x{2028}
\x{200d}
@ -937,31 +942,31 @@
/\p{^Lu}/i,utf
1234
** Failers
\= Expect no match
ABC
/\P{Lu}/i,utf
1234
** Failers
\= Expect no match
ABC
/\p{Ll}/i,utf
a
Az
** Failers
\= Expect no match
ABC
/\p{Lu}/i,utf
A
a\x{10a0}B
** Failers
\= Expect no match
a
\x{1d00}
/\p{Lu}/i,utf
A
aZ
** Failers
\= Expect no match
abc
/[\x{c0}\x{391}]/i,utf
@ -1018,12 +1023,12 @@
\x{6ca}
\x{a6c}
\x{10a7}
** Failers
\= Expect no match
_ABC
/^\p{Xan}+/utf
ABCD1234\x{6ca}\x{a6c}\x{10a7}_
** Failers
\= Expect no match
_ABC
/^\p{Xan}+?/utf
@ -1044,18 +1049,18 @@
\x{6ca}
\x{a6c}
\x{10a7}
** Failers
\= Expect no match
_ABC
/^[\p{Xan}]+/utf
ABCD1234\x{6ca}\x{a6c}\x{10a7}_
** Failers
\= Expect no match
_ABC
/^>\p{Xsp}/utf
>\x{1680}\x{2028}\x{0b}
>\x{a0}
** Failers
\= Expect no match
\x{0b}
/^>\p{Xsp}+/utf
@ -1082,7 +1087,7 @@
/^>\p{Xps}/utf
>\x{1680}\x{2028}\x{0b}
>\x{a0}
** Failers
\= Expect no match
\x{0b}
/^>\p{Xps}+/utf
@ -1113,7 +1118,7 @@
\x{a6c}
\x{10a7}
_ABC
** Failers
\= Expect no match
[]
/^\p{Xwd}+/utf
@ -1138,7 +1143,7 @@
\x{a6c}
\x{10a7}
_ABC
** Failers
\= Expect no match
[]
/^[\p{Xwd}]+/utf
@ -1232,7 +1237,7 @@
/\b...\B/utf
abc_
** Failers
\= Expect no match
\x{37e}abc\x{376}
\x{37e}\x{376}\x{371}\x{393}\x{394}
!\x{c0}++\x{c1}\x{c2}
@ -1288,9 +1293,11 @@
# These behaved oddly in Perl, so they are kept in this test
/(\x{23a}\x{23a}\x{23a})?\1/i,utf
\= Expect no match
\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
/(ȺȺȺ)?\1/i,utf
\= Expect no match
ȺȺȺⱥⱥ
/(\x{23a}\x{23a}\x{23a})?\1/i,utf
@ -1300,9 +1307,11 @@
ȺȺȺⱥⱥⱥ
/(\x{23a}\x{23a}\x{23a})\1/i,utf
\= Expect no match
\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
/(ȺȺȺ)\1/i,utf
\= Expect no match
ȺȺȺⱥⱥ
/(\x{23a}\x{23a}\x{23a})\1/i,utf
@ -1328,19 +1337,19 @@
/^[\p{Batak}]/utf
\x{1bc0}
\x{1bff}
** Failers
\= Expect no match
\x{1bf4}
/^[\p{Brahmi}]/utf
\x{11000}
\x{1106f}
** Failers
\= Expect no match
\x{1104e}
/^[\p{Mandaic}]/utf
\x{840}
\x{85e}
** Failers
\= Expect no match
\x{85c}
\x{85d}
@ -1355,7 +1364,7 @@
/^a\X41z/alt_bsux,allow_empty_class,match_unset_backref,dupnames
aX41z
*** Failers
\= Expect no match
aAz
/(?<=ab\Cde)X/utf
@ -1453,7 +1462,7 @@
\x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
/\x{3a3}++./i,utf,aftertext
** Failers
\= Expect no match
\x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
/\x{3a3}*\x{3c2}/Bi,utf
@ -1463,19 +1472,24 @@
/[^a]*\x{3c2}/Bi,utf
/ist/Bi,utf
\= Expect no match
ikt
/is+t/i,utf
iSs\x{17f}t
\= Expect no match
ikt
/is+?t/i,utf
\= Expect no match
ikt
/is?t/i,utf
\= Expect no match
ikt
/is{2}t/i,utf
\= Expect no match
iskt
# This property is a PCRE special
@ -1485,52 +1499,52 @@
@abc
`abc
\x{1234}abc
** Failers
\= Expect no match
abc
/^\p{Xuc}+/utf
$@`\x{a0}\x{1234}\x{e000}**
** Failers
\= Expect no match
\x{9f}
/^\p{Xuc}+?/utf
$@`\x{a0}\x{1234}\x{e000}**
** Failers
\= Expect no match
\x{9f}
/^\p{Xuc}+?\*/utf
$@`\x{a0}\x{1234}\x{e000}**
** Failers
\= Expect no match
\x{9f}
/^\p{Xuc}++/utf
$@`\x{a0}\x{1234}\x{e000}**
** Failers
\= Expect no match
\x{9f}
/^\p{Xuc}{3,5}/utf
$@`\x{a0}\x{1234}\x{e000}**
** Failers
\= Expect no match
\x{9f}
/^\p{Xuc}{3,5}?/utf
$@`\x{a0}\x{1234}\x{e000}**
** Failers
\= Expect no match
\x{9f}
/^[\p{Xuc}]/utf
$@`\x{a0}\x{1234}\x{e000}**
** Failers
\= Expect no match
\x{9f}
/^[\p{Xuc}]+/utf
$@`\x{a0}\x{1234}\x{e000}**
** Failers
\= Expect no match
\x{9f}
/^\P{Xuc}/utf
abc
** Failers
\= Expect no match
$abc
@abc
`abc
@ -1538,7 +1552,7 @@
/^[\P{Xuc}]/utf
abc
** Failers
\= Expect no match
$abc
@abc
`abc
@ -1654,9 +1668,11 @@
/\C\X*TӅ;
{0,6}\v+ F
/utf
\= Expect no match
Ӆ\x0a
/\C(\W?ſ)'?{{/utf
\= Expect no match
\\C(\\W?ſ)'?{{
/[\pS#moq]/

591
testdata/testinput6 vendored

File diff suppressed because it is too large Load Diff

407
testdata/testinput7 vendored

File diff suppressed because it is too large Load Diff

2
testdata/testinput9 vendored
View File

@ -7,7 +7,7 @@
/a\Cb/
aXb
a\nb
** Failers (too big char)
\= Expect no match and error message (too big char)
A\x{123}B
A\o{443}B

1061
testdata/testoutput1 vendored

File diff suppressed because it is too large Load Diff

96
testdata/testoutput10 vendored
View File

@ -58,11 +58,12 @@
/a\C\Cb/utf
a\x{100}b
0: a\x{100}b
** Failers
No match
\= Expect no match
a\x{12257}b
No match
# The next 3 patterns have UTF-8 errors
/[Ã]/utf
Failed: error -8 at offset 0: UTF-8 error: byte 2 top bits not 0x80
@ -72,7 +73,10 @@ Failed: error -3 at offset 0: UTF-8 error: 1 byte missing at end
/ÃÃÃxxx/utf
Failed: error -8 at offset 0: UTF-8 error: byte 2 top bits not 0x80
# Now test subjects
/badutf/utf
\= Expect UTF-8 errors
X\xdf
Failed: error -3: UTF-8 error: 1 byte missing at end at offset 1
XX\xef
@ -153,6 +157,7 @@ Failed: error -23: UTF-8 error: illegal byte (0xfe or 0xff) at offset 0
Failed: error -23: UTF-8 error: illegal byte (0xfe or 0xff) at offset 0
/badutf/utf
\= Expect UTF-8 errors
XX\xfb\x80\x80\x80\x80
Failed: error -13: UTF-8 error: 5-byte character is not allowed (RFC 3629) at offset 2
XX\xfd\x80\x80\x80\x80\x80
@ -161,6 +166,7 @@ Failed: error -14: UTF-8 error: 6-byte character is not allowed (RFC 3629) at of
Failed: error -15: UTF-8 error: code points greater than 0x10ffff are not defined at offset 2
/shortutf/utf
\= Expect UTF-8 errors
XX\xdf\=ph
Failed: error -3: UTF-8 error: 1 byte missing at end at offset 2
XX\xef\=ph
@ -193,6 +199,7 @@ Failed: error -4: UTF-8 error: 2 bytes missing at end at offset 0
Failed: error -3: UTF-8 error: 1 byte missing at end at offset 0
/anything/utf
\= Expect UTF-8 errors
X\xc0\x80
Failed: error -17: UTF-8 error: overlong 2-byte sequence at offset 1
XX\xc1\x8f
@ -209,6 +216,15 @@ Failed: error -21: UTF-8 error: overlong 6-byte sequence at offset 0
Failed: error -23: UTF-8 error: illegal byte (0xfe or 0xff) at offset 0
\xff\x80\x80\x80\x80\x80
Failed: error -23: UTF-8 error: illegal byte (0xfe or 0xff) at offset 0
\xf8\x88\x80\x80\x80
Failed: error -13: UTF-8 error: 5-byte character is not allowed (RFC 3629) at offset 0
\xf9\x87\x80\x80\x80
Failed: error -13: UTF-8 error: 5-byte character is not allowed (RFC 3629) at offset 0
\xfc\x84\x80\x80\x80\x80
Failed: error -14: UTF-8 error: 6-byte character is not allowed (RFC 3629) at offset 0
\xfd\x83\x80\x80\x80\x80
Failed: error -14: UTF-8 error: 6-byte character is not allowed (RFC 3629) at offset 0
\= Expect no match
\xc3\x8f
No match
\xe0\xaf\x80
@ -219,14 +235,6 @@ No match
No match
\xf1\x8f\x80\x80
No match
\xf8\x88\x80\x80\x80
Failed: error -13: UTF-8 error: 5-byte character is not allowed (RFC 3629) at offset 0
\xf9\x87\x80\x80\x80
Failed: error -13: UTF-8 error: 5-byte character is not allowed (RFC 3629) at offset 0
\xfc\x84\x80\x80\x80\x80
Failed: error -14: UTF-8 error: 6-byte character is not allowed (RFC 3629) at offset 0
\xfd\x83\x80\x80\x80\x80
Failed: error -14: UTF-8 error: 6-byte character is not allowed (RFC 3629) at offset 0
\xf8\x88\x80\x80\x80\=no_utf_check
No match
\xf9\x87\x80\x80\x80\=no_utf_check
@ -239,26 +247,31 @@ No match
# Similar tests with offsets
/badutf/utf
\= Expect UTF-8 errors
X\xdfabcd
Failed: error -8: UTF-8 error: byte 2 top bits not 0x80 at offset 1
X\xdfabcd\=offset=1
Failed: error -8: UTF-8 error: byte 2 top bits not 0x80 at offset 1
\= Expect no match
X\xdfabcd\=offset=2
No match
/(?<=x)badutf/utf
\= Expect UTF-8 errors
X\xdfabcd
Failed: error -8: UTF-8 error: byte 2 top bits not 0x80 at offset 1
X\xdfabcd\=offset=1
Failed: error -8: UTF-8 error: byte 2 top bits not 0x80 at offset 1
X\xdfabcd\=offset=2
Failed: error -8: UTF-8 error: byte 2 top bits not 0x80 at offset 1
X\xdfabcd\=offset=3
No match
X\xdfabcd\xdf\=offset=3
Failed: error -3: UTF-8 error: 1 byte missing at end at offset 6
\= Expect no match
X\xdfabcd\=offset=3
No match
/(?<=xx)badutf/utf
\= Expect UTF-8 errors
X\xdfabcd
Failed: error -8: UTF-8 error: byte 2 top bits not 0x80 at offset 1
X\xdfabcd\=offset=1
@ -269,6 +282,7 @@ Failed: error -8: UTF-8 error: byte 2 top bits not 0x80 at offset 1
Failed: error -8: UTF-8 error: byte 2 top bits not 0x80 at offset 1
/(?<=xxxx)badutf/utf
\= Expect UTF-8 errors
X\xdfabcd
Failed: error -8: UTF-8 error: byte 2 top bits not 0x80 at offset 1
X\xdfabcd\=offset=1
@ -277,12 +291,13 @@ Failed: error -8: UTF-8 error: byte 2 top bits not 0x80 at offset 1
Failed: error -8: UTF-8 error: byte 2 top bits not 0x80 at offset 1
X\xdfabcd\=offset=3
Failed: error -8: UTF-8 error: byte 2 top bits not 0x80 at offset 1
X\xdfabcd\=offset=6
No match
X\xdfabc\xdf\=offset=6
Failed: error -3: UTF-8 error: 1 byte missing at end at offset 5
X\xdfabc\xdf\=offset=7
Failed: error -33: bad offset value
\= Expect no match
X\xdfabcd\=offset=6
No match
/\x{100}/IB,utf
------------------------------------------------------------------
@ -514,8 +529,7 @@ Subject length lower bound = 1
# correctly, but that messes up comparisons).
/a\Cb/utf
*** Failers
No match
\= Expect no match
a\x{100}b
No match
@ -547,8 +561,7 @@ Subject length lower bound = 1
0: \x{100}
\x{1000}
0: \x{1000}
*** Failers
0: *
\= Expect no match
\x{c0}
No match
\x{f0}
@ -707,8 +720,6 @@ Subject length lower bound = 1
0: \x{100}
\x{100}Z
0: \x{100}
*** Failers
No match
/[\xff]/IB,utf
------------------------------------------------------------------
@ -798,33 +809,35 @@ Failed: error 106 at offset 15: missing terminating ] for character class
# This tests the stricter UTF-8 check according to RFC 3629.
/X/utf
\= Expect UTF-8 errors
\x{d800}
Failed: error -16: UTF-8 error: code points 0xd800-0xdfff are not defined at offset 0
\x{d800}\=no_utf_check
No match
\x{da00}
Failed: error -16: UTF-8 error: code points 0xd800-0xdfff are not defined at offset 0
\x{da00}\=no_utf_check
No match
\x{dfff}
Failed: error -16: UTF-8 error: code points 0xd800-0xdfff are not defined at offset 0
\x{dfff}\=no_utf_check
No match
\x{110000}
Failed: error -15: UTF-8 error: code points greater than 0x10ffff are not defined at offset 0
\x{110000}\=no_utf_check
No match
\x{2000000}
Failed: error -13: UTF-8 error: 5-byte character is not allowed (RFC 3629) at offset 0
\x{2000000}\=no_utf_check
No match
\x{7fffffff}
Failed: error -14: UTF-8 error: 6-byte character is not allowed (RFC 3629) at offset 0
\= Expect no match
\x{d800}\=no_utf_check
No match
\x{da00}\=no_utf_check
No match
\x{dfff}\=no_utf_check
No match
\x{110000}\=no_utf_check
No match
\x{2000000}\=no_utf_check
No match
\x{7fffffff}\=no_utf_check
No match
/(*UTF8)\x{1234}/
abcd\x{1234}pqr
abcd\x{1234}pqr
0: \x{1234}
/(*CRLF)(*UTF)(*BSR_UNICODE)a\Rb/I
@ -935,16 +948,19 @@ Subject length lower bound = 3
/a+/utf
a\x{123}aa\=offset=1
0: aa
a\x{123}aa\=offset=2
Error -36 (bad UTF-8 offset)
a\x{123}aa\=offset=3
0: aa
a\x{123}aa\=offset=4
0: a
a\x{123}aa\=offset=5
No match
\= Expect bad offset value
a\x{123}aa\=offset=6
Failed: error -33: bad offset value
\= Expect bad UTF-8 offset
a\x{123}aa\=offset=2
Error -36 (bad UTF-8 offset)
\= Expect no match
a\x{123}aa\=offset=5
No match
/\x{1234}+/Ii,utf
Capturing subpattern count = 0
@ -1329,8 +1345,6 @@ Subject length lower bound = 1
0: \x{100}
\x{100}Z
0: \x{100}
*** Failers
No match
/[z-\x{100}]/IB,utf
------------------------------------------------------------------
@ -1515,8 +1529,7 @@ Subject length lower bound = 1
0: \x{105}
\x{109}
0: \x{109}
** Failers
No match
\= Expect no match
\x{100}
No match
\x{10a}
@ -1555,8 +1568,7 @@ Subject length lower bound = 1
0: \x{100}
\x{101}
0: \x{101}
** Failers
No match
\= Expect no match
\x{102}
No match
Y
@ -1595,7 +1607,7 @@ Last code unit = 'B' (caseless)
Subject length lower bound = 2
/abc/utf,replace=Ã
abc
abc
Failed: error -3: UTF-8 error: 1 byte missing at end
# End of testinput10

View File

@ -56,8 +56,7 @@
0: X\x{11234}Y
X\x{11234}\x{512}YZ
0: X\x{11234}\x{512}
*** Failers
No match
\= Expect no match
X\x{11234}
No match
@ -70,9 +69,8 @@ No match
/a\C\Cb/utf
a\x{12257}b
0: a\x{12257}b
\= Expect no match
a\x{12257}\x{11234}b
No match
** Failers
No match
a\x{100}b
No match
@ -310,9 +308,8 @@ First code unit = \x{d844}
Last code unit = \x{deab}
Subject length lower bound = 1
# This one is here not because it's different to Perl, but because the way
# the captured single-byte is displayed. (In Perl it becomes a character, and you
# can't tell the difference.)
# These two \C tests, copied from the UTF-8 input file, do not have any
# problems in 16 or 32 bits.
/X(\C)(.*)/utf
X\x{1234}
@ -324,12 +321,7 @@ Subject length lower bound = 1
1: \x{0a}
2: abc
# This one is here because Perl gives out a grumbly error message (quite
# correctly, but that messes up comparisons).
/a\Cb/utf
*** Failers
No match
a\x{100}b
0: a\x{100}b
@ -362,8 +354,7 @@ Subject length lower bound = 1
0: \x{100}
\x{1000}
0: \x{1000}
*** Failers
0: *
\= Expect no match
\x{c0}
No match
\x{f0}
@ -520,8 +511,6 @@ Subject length lower bound = 1
0: \x{100}
\x{100}Z
0: \x{100}
*** Failers
No match
/[\xff]/IB,utf
------------------------------------------------------------------
@ -607,32 +596,34 @@ Subject length lower bound = 2
Failed: error 106 at offset 13: missing terminating ] for character class
/X/utf
XX\x{d800}
Failed: error -24: UTF-16 error: missing low surrogate at end at offset 2
XX\x{d800}\=offset=3
No match
XX\x{d800}\=no_utf_check
0: X
XX\x{da00}
Failed: error -24: UTF-16 error: missing low surrogate at end at offset 2
XX\x{da00}\=no_utf_check
0: X
XX\x{dc00}
Failed: error -26: UTF-16 error: isolated low surrogate at offset 2
XX\x{dc00}\=no_utf_check
0: X
XX\x{de00}
Failed: error -26: UTF-16 error: isolated low surrogate at offset 2
XX\x{de00}\=no_utf_check
0: X
XX\x{dfff}
Failed: error -26: UTF-16 error: isolated low surrogate at offset 2
XX\x{dfff}\=no_utf_check
0: X
\= Expect UTF error
XX\x{d800}
Failed: error -24: UTF-16 error: missing low surrogate at end at offset 2
XX\x{da00}
Failed: error -24: UTF-16 error: missing low surrogate at end at offset 2
XX\x{dc00}
Failed: error -26: UTF-16 error: isolated low surrogate at offset 2
XX\x{de00}
Failed: error -26: UTF-16 error: isolated low surrogate at offset 2
XX\x{dfff}
Failed: error -26: UTF-16 error: isolated low surrogate at offset 2
XX\x{110000}
** Failed: character \x{110000} is greater than 0x10ffff and so cannot be converted to UTF-16
XX\x{d800}\x{1234}
Failed: error -25: UTF-16 error: invalid low surrogate at offset 3
\= Expect no match
XX\x{d800}\=offset=3
No match
/(?<=.)X/utf
XX\x{d800}\=offset=3
@ -794,8 +785,10 @@ Subject length lower bound = 3
0: aa
a\x{123}aa\=offset=3
0: a
\= Expect no match
a\x{123}aa\=offset=4
No match
\= Expect bad offset error
a\x{123}aa\=offset=5
Failed: error -33: bad offset value
a\x{123}aa\=offset=6
@ -860,16 +853,21 @@ Subject length lower bound = 1
# Check bad offset
/a/utf
\= Expect bad UTF-16 offset, or no match in 32-bit
\x{10000}\=offset=1
Error -36 (bad UTF-16 offset)
\x{10000}ab\=offset=1
Error -36 (bad UTF-16 offset)
\= Expect 16-bit match, 32-bit no match
\x{10000}ab\=offset=2
0: a
\= Expect no match
\x{10000}ab\=offset=3
No match
\= Expect no match in 16-bit, bad offset in 32-bit
\x{10000}ab\=offset=4
No match
\= Expect bad offset
\x{10000}ab\=offset=5
Failed: error -33: bad offset value
@ -1180,8 +1178,6 @@ Subject length lower bound = 1
0: \x{100}
\x{100}Z
0: \x{100}
*** Failers
No match
/[z-\x{100}]/IB,utf
------------------------------------------------------------------
@ -1371,8 +1367,7 @@ Subject length lower bound = 1
0: \x{105}
\x{109}
0: \x{109}
** Failers
No match
\= Expect no match
\x{100}
No match
\x{10a}
@ -1416,8 +1411,7 @@ Subject length lower bound = 1
0: \x{100}
\x{101}
0: \x{101}
** Failers
No match
\= Expect no match
\x{102}
No match
Y

View File

@ -54,8 +54,7 @@ No match
0: X\x{11234}YZ
X\x{11234}\x{512}YZ
0: X\x{11234}\x{512}Y
*** Failers
No match
\= Expect no match
X\x{11234}
No match
@ -68,10 +67,9 @@ No match
/a\C\Cb/utf
a\x{12257}b
No match
\= Expect no match
a\x{12257}\x{11234}b
0: a\x{12257}\x{11234}b
** Failers
No match
a\x{100}b
No match
@ -303,9 +301,8 @@ Options: utf
First code unit = \x{212ab}
Subject length lower bound = 1
# This one is here not because it's different to Perl, but because the way
# the captured single-byte is displayed. (In Perl it becomes a character, and you
# can't tell the difference.)
# These two \C tests, copied from the UTF-8 input file, do not have any
# problems in 16 or 32 bits.
/X(\C)(.*)/utf
X\x{1234}
@ -317,12 +314,7 @@ Subject length lower bound = 1
1: \x{0a}
2: abc
# This one is here because Perl gives out a grumbly error message (quite
# correctly, but that messes up comparisons).
/a\Cb/utf
*** Failers
No match
a\x{100}b
0: a\x{100}b
@ -355,8 +347,7 @@ Subject length lower bound = 1
0: \x{100}
\x{1000}
0: \x{1000}
*** Failers
0: *
\= Expect no match
\x{c0}
No match
\x{f0}
@ -513,8 +504,6 @@ Subject length lower bound = 1
0: \x{100}
\x{100}Z
0: \x{100}
*** Failers
No match
/[\xff]/IB,utf
------------------------------------------------------------------
@ -600,32 +589,34 @@ Subject length lower bound = 2
Failed: error 106 at offset 13: missing terminating ] for character class
/X/utf
XX\x{d800}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
XX\x{d800}\=offset=3
No match
XX\x{d800}\=no_utf_check
0: X
XX\x{da00}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
XX\x{da00}\=no_utf_check
0: X
XX\x{dc00}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
XX\x{dc00}\=no_utf_check
0: X
XX\x{de00}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
XX\x{de00}\=no_utf_check
0: X
XX\x{dfff}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
XX\x{dfff}\=no_utf_check
0: X
\= Expect UTF error
XX\x{d800}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
XX\x{da00}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
XX\x{dc00}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
XX\x{de00}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
XX\x{dfff}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
XX\x{110000}
Failed: error -28: UTF-32 error: code points greater than 0x10ffff are not defined at offset 2
XX\x{d800}\x{1234}
Failed: error -27: UTF-32 error: code points 0xd800-0xdfff are not defined at offset 2
\= Expect no match
XX\x{d800}\=offset=3
No match
/(?<=.)X/utf
XX\x{d800}\=offset=3
@ -786,8 +777,10 @@ Subject length lower bound = 3
0: aa
a\x{123}aa\=offset=3
0: a
\= Expect no match
a\x{123}aa\=offset=4
No match
\= Expect bad offset error
a\x{123}aa\=offset=5
Failed: error -33: bad offset value
a\x{123}aa\=offset=6
@ -852,16 +845,21 @@ Subject length lower bound = 1
# Check bad offset
/a/utf
\= Expect bad UTF-16 offset, or no match in 32-bit
\x{10000}\=offset=1
No match
\x{10000}ab\=offset=1
0: a
\= Expect 16-bit match, 32-bit no match
\x{10000}ab\=offset=2
No match
\= Expect no match
\x{10000}ab\=offset=3
No match
\= Expect no match in 16-bit, bad offset in 32-bit
\x{10000}ab\=offset=4
Failed: error -33: bad offset value
\= Expect bad offset
\x{10000}ab\=offset=5
Failed: error -33: bad offset value
@ -1172,8 +1170,6 @@ Subject length lower bound = 1
0: \x{100}
\x{100}Z
0: \x{100}
*** Failers
No match
/[z-\x{100}]/IB,utf
------------------------------------------------------------------
@ -1363,8 +1359,7 @@ Subject length lower bound = 1
0: \x{105}
\x{109}
0: \x{109}
** Failers
No match
\= Expect no match
\x{100}
No match
\x{10a}
@ -1408,8 +1403,7 @@ Subject length lower bound = 1
0: \x{100}
\x{101}
0: \x{101}
** Failers
No match
\= Expect no match
\x{102}
No match
Y

23
testdata/testoutput17 vendored
View File

@ -33,6 +33,7 @@ Subject length lower bound = 4
JIT compilation was successful
abcd
0: abcd (JIT)
\= Expect no match
xyz
No match (JIT)
@ -44,6 +45,7 @@ Subject length lower bound = 4
JIT compilation was not successful
abcd
0: abcd
\= Expect no match
xyz
No match
@ -54,6 +56,7 @@ No match
Partial match: ab (JIT)
ab\=ph
Partial match: ab (JIT)
\= Expect no match
xyz
No match (JIT)
@ -64,6 +67,7 @@ No match (JIT)
Partial match: ab (JIT)
ab\=ph
Partial match: ab (JIT)
\= Expect no match
xyz
No match (JIT)
@ -74,6 +78,7 @@ No match (JIT)
Partial match: ab
ab\=ph
Partial match: ab
\= Expect no match
xyz
No match (JIT)
xyz\=ps
@ -86,10 +91,11 @@ No match
Failed: error -45: bad JIT option
ab\=ph
Failed: error -45: bad JIT option
xyz
No match (JIT)
xyz\=ps
Failed: error -45: bad JIT option
\= Expect no match
xyz
No match (JIT)
/abcd/jit=2
abcd
@ -98,6 +104,7 @@ Failed: error -45: bad JIT option
Partial match: ab (JIT)
ab\=ph
Partial match: ab
\= Expect no match
xyz
No match
@ -118,6 +125,7 @@ Failed: error -45: bad JIT option
Partial match: ab (JIT)
ab\=ph
Partial match: ab
\= Expect no match
xyz
No match (JIT)
@ -128,6 +136,7 @@ No match (JIT)
Partial match: ab
ab\=ph
Partial match: ab (JIT)
\= Expect no match
xyz
No match
@ -138,6 +147,7 @@ No match
Partial match: ab
ab\=ph
Partial match: ab (JIT)
\= Expect no match
xyz
No match (JIT)
@ -148,6 +158,7 @@ No match (JIT)
Partial match: ab (JIT)
ab\=ph
Partial match: ab (JIT)
\= Expect no match
xyz
No match
@ -158,6 +169,7 @@ No match
Partial match: ab (JIT)
ab\=ph
Partial match: ab (JIT)
\= Expect no match
xyz
No match (JIT)
@ -169,6 +181,7 @@ Subject length lower bound = 4
JIT compilation was successful
/(*NO_START_OPT)a(*:m)b/mark
\= Expect no match
a
No match, mark = m (JIT)
@ -188,6 +201,7 @@ JIT compilation was successful
Minimum match limit = 2
0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz (JIT)
1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
\= Expect no match
aaaaaaaaaaaaaz\=find_limits
Minimum match limit = 16383
No match (JIT)
@ -272,8 +286,10 @@ Minimum match limit = 5
3: ee
/(a+)*zz/
\= Expect no match
aaaaaaaaaaaaaz
No match (JIT)
\= Expect limit exceeded
aaaaaaaaaaaaaz\=match_limit=3000
Failed: error -47: match limit exceeded
@ -306,8 +322,10 @@ Starting code units: a z
Last code unit = 'z'
Subject length lower bound = 2
JIT compilation was successful
\= Expect no match
aaaaaaaaaaaaaz
No match (JIT)
\= Expect limit exceeded
aaaaaaaaaaaaaz\=match_limit=3000
Failed: error -47: match limit exceeded
@ -332,6 +350,7 @@ Failed: error -46: JIT stack limit reached
/abcd/
abcd\=anchored
0: abcd
\= Expect no match
fail abcd\=anchored
No match

15
testdata/testoutput18 vendored
View File

@ -25,8 +25,6 @@
/abc/
abc
0: abc
*** Failers
No match: POSIX code 17: match failed
/^abc|def/
abcdef
@ -47,8 +45,7 @@ No match: POSIX code 17: match failed
/the quick brown fox/
the quick brown fox
0: the quick brown fox
*** Failers
No match: POSIX code 17: match failed
\= Expect no match
The Quick Brown Fox
No match: POSIX code 17: match failed
@ -59,8 +56,7 @@ No match: POSIX code 17: match failed
0: The Quick Brown Fox
/(*LF)abc.def/
*** Failers
No match: POSIX code 17: match failed
\= Expect no match
abc\ndef
No match: POSIX code 17: match failed
@ -74,6 +70,7 @@ No match: POSIX code 17: match failed
Failed: POSIX code 15: bad back reference at offset 6
/(abc\1)/
\= Expect no match
abc
No match: POSIX code 17: match failed
@ -96,8 +93,7 @@ Matched without capture
0: ab-cd
ab=cd
0: ab=cd
** Failers
No match: POSIX code 17: match failed
\= Expect no match
ab\ncd
No match: POSIX code 17: match failed
@ -120,8 +116,7 @@ Matched with REG_NOSUB
/a?|b?/
abc
0: a
** Failers
0:
\= Expect no match
ddd\=notempty
No match: POSIX code 17: match failed

View File

@ -10,6 +10,7 @@
0: a\x{1234}b
/\w/
\= Expect no match
+++\x{c2}
No match: POSIX code 17: match failed

535
testdata/testoutput2 vendored

File diff suppressed because it is too large Load Diff

View File

@ -53,6 +53,7 @@ Subject length lower bound = 6
0: C
1: C
MK: A
\= Expect no match
D
No match, mark = A

29
testdata/testoutput3 vendored
View File

@ -8,8 +8,7 @@
#forbid_utf
/^[\w]+/
*** Failers
No match
\= Expect no match
École
No match
@ -18,8 +17,7 @@ No match
0: École
/^[\w]+/
*** Failers
No match
\= Expect no match
École
No match
@ -28,30 +26,26 @@ No match
0: \xc9
/^[\W]+/locale=fr_FR
*** Failers
0: ***
\= Expect no match
École
No match
/[\b]/
\b
0: \x08
*** Failers
No match
\= Expect no match
a
No match
/[\b]/locale=fr_FR
\b
0: \x08
*** Failers
No match
\= Expect no match
a
No match
/^\w+/
*** Failers
No match
\= Expect no match
École
No match
@ -66,18 +60,14 @@ No match
2: cole
/(.+)\b(.+)/locale=fr_FR
*** Failers
0: *** Failers
1: ***
2: Failers
\= Expect no match
École
No match
/École/i
École
0: \xc9cole
*** Failers
No match
\= Expect no match
école
No match
@ -114,8 +104,7 @@ Subject length lower bound = 1
/^[\xc8-\xc9]/
École
0: É
*** Failers
No match
\= Expect no match
école
No match

29
testdata/testoutput3A vendored
View File

@ -8,8 +8,7 @@
#forbid_utf
/^[\w]+/
*** Failers
No match
\= Expect no match
École
No match
@ -18,8 +17,7 @@ No match
0: École
/^[\w]+/
*** Failers
No match
\= Expect no match
École
No match
@ -28,30 +26,26 @@ No match
0: \xc9
/^[\W]+/locale=fr_FR
*** Failers
0: ***
\= Expect no match
École
No match
/[\b]/
\b
0: \x08
*** Failers
No match
\= Expect no match
a
No match
/[\b]/locale=fr_FR
\b
0: \x08
*** Failers
No match
\= Expect no match
a
No match
/^\w+/
*** Failers
No match
\= Expect no match
École
No match
@ -66,18 +60,14 @@ No match
2: cole
/(.+)\b(.+)/locale=fr_FR
*** Failers
0: *** Failers
1: ***
2: Failers
\= Expect no match
École
No match
/École/i
École
0: \xc9cole
*** Failers
No match
\= Expect no match
école
No match
@ -114,8 +104,7 @@ Subject length lower bound = 1
/^[\xc8-\xc9]/
École
0: É
*** Failers
No match
\= Expect no match
école
No match

29
testdata/testoutput3B vendored
View File

@ -8,8 +8,7 @@
#forbid_utf
/^[\w]+/
*** Failers
No match
\= Expect no match
École
No match
@ -18,8 +17,7 @@ No match
0: École
/^[\w]+/
*** Failers
No match
\= Expect no match
École
No match
@ -28,30 +26,26 @@ No match
0: \xc9
/^[\W]+/locale=fr_FR
*** Failers
0: ***
\= Expect no match
École
No match
/[\b]/
\b
0: \x08
*** Failers
No match
\= Expect no match
a
No match
/[\b]/locale=fr_FR
\b
0: \x08
*** Failers
No match
\= Expect no match
a
No match
/^\w+/
*** Failers
No match
\= Expect no match
École
No match
@ -66,18 +60,14 @@ No match
2: cole
/(.+)\b(.+)/locale=fr_FR
*** Failers
0: *** Failers
1: ***
2: Failers
\= Expect no match
École
No match
/École/i
École
0: \xc9cole
*** Failers
No match
\= Expect no match
école
No match
@ -114,8 +104,7 @@ Subject length lower bound = 1
/^[\xc8-\xc9]/
École
0: É
*** Failers
No match
\= Expect no match
école
No match

634
testdata/testoutput4 vendored

File diff suppressed because it is too large Load Diff

178
testdata/testoutput5 vendored
View File

@ -11,14 +11,12 @@
# test 4.
/^[\p{Arabic}]/utf
** Failers
No match
\= Expect no match
\x{061c}
No match
/^[[:graph:]]+$/utf,ucp
** Failers
No match
\= Expect no match
\x{61c}
No match
\x{2066}
@ -31,8 +29,7 @@ No match
No match
/^[[:print:]]+$/utf,ucp
** Failers
0: ** Failers
\= Expect no match
\x{61c}
No match
\x{2066}
@ -76,6 +73,7 @@ No match
0: A\x{85}\x{2005}Z
/^[[:graph:]]+$/utf,ucp
\= Expect no match
\x{180e}
No match
@ -88,6 +86,7 @@ No match
0: \x{09}\x{0a}\x{1d} \x{85}\x{a0}\x{61c}\x{1680}\x{180e}
/^[[:^print:]]+$/utf,ucp
\= Expect no match
\x{180e}
No match
@ -200,8 +199,7 @@ Overall options: anchored utf
Subject length lower bound = 1
bar
0: b
*** Failers
No match
\= Expect no match
c
No match
\x{ff}
@ -227,8 +225,7 @@ Subject length lower bound = 1
0: \x{ff}
\x{100}
0: \x{100}
*** Failers
0: *
\= Expect no match
aaa
No match
@ -251,8 +248,7 @@ No match
\x{100}\x{100}"12"
0: \x{100}\x{100}"12"
1: "12"
*** Failers
No match
\= Expect no match
\x{100}\x{100}abcd
No match
@ -303,8 +299,7 @@ Failed: error 108 at offset 15: range out of order in character class
0: \x{100}
\x{104}
0: \x{104}
*** Failers
No match
\= Expect no match
\x{105}
No match
\x{ff}
@ -581,8 +576,7 @@ Matched, but too many substrings
0: a\x{2028}b
a\x{2029}b
0: a\x{2029}b
** Failers
No match
\= Expect no match
a\n\rb
No match
@ -623,8 +617,7 @@ No match
0: a\x{0a}\x{0d}b
a\n\r\x{85}\x0cb
0: a\x{0a}\x{0d}\x{85}\x{0c}b
** Failers
No match
\= Expect no match
ab
No match
@ -643,8 +636,7 @@ No match
0: a\x{0a}\x{0d}\x{0a}\x{0d}b
a\n\n\r\nb
0: a\x{0a}\x{0a}\x{0d}\x{0a}b
** Failers
No match
\= Expect no match
a\n\n\n\rb
No match
a\r
@ -655,8 +647,7 @@ No match
0: X X\x{0a}
X\x09X\x0b
0: X\x{09}X\x{0b}
** Failers
No match
\= Expect no match
\x{a0} X\x0a
No match
@ -667,8 +658,7 @@ No match
0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}\x{0d}
\x09\x20\x{a0}\x0a\x0b\x0c
0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}
** Failers
No match
\= Expect no match
\x09\x20\x{a0}\x0a\x0b
No match
@ -677,8 +667,7 @@ No match
0: \x{3001}\x{3000}\x{2030}\x{2028}
X\x{180e}X\x{85}
0: X\x{180e}X\x{85}
** Failers
No match
\= Expect no match
\x{2009} X\x0a
No match
@ -689,8 +678,7 @@ No match
0: \x{09}\x{205f}\x{a0}\x{0a}\x{2029}\x{0c}\x{2028}
\x09\x20\x{202f}\x0a\x0b\x0c
0: \x{09} \x{202f}\x{0a}\x{0b}\x{0c}
** Failers
No match
\= Expect no match
\x09\x{200a}\x{a0}\x{2028}\x0b
No match
@ -755,8 +743,7 @@ Subject length lower bound = 3
0: a\x{0a}b
a\r\nb
0: a\x{0d}\x{0a}b
** Failers
No match
\= Expect no match
a\x{85}b
No match
a\x0bb
@ -793,8 +780,7 @@ Subject length lower bound = 2
0: a\x{0a}b
a\r\nb
0: a\x{0d}\x{0a}b
** Failers
No match
\= Expect no match
a\x{85}b
No match
a\x0bb
@ -817,14 +803,11 @@ Subject length lower bound = 2
0: a\x{85}b
a\x0bb
0: a\x{0b}b
** Failers
No match
/.*a.*=.b.*/utf,newline=any
QQQ\x{2029}ABCaXYZ=!bPQR
0: ABCaXYZ=!bPQR
** Failers
No match
\= Expect no match
a\x{2029}b
No match
\x61\xe2\x80\xa9\x62
@ -838,8 +821,7 @@ Failed: error 130 at offset 3: unknown POSIX class name
0: a\x{1234}b
a\nb
0: a\x{0a}b
** Failers
No match
\= Expect no match
ab
No match
@ -848,8 +830,7 @@ No match
0: aXb
a\nX\nX\x{1234}b
0: a\x{0a}X\x{0a}X\x{1234}b
** Failers
No match
\= Expect no match
ab
No match
@ -935,6 +916,7 @@ Partial match: X\x{123}\x{123}\x{123}
Partial match: X\x{123}\x{123}\x{123}\x{123}
/X\x{123}{2,4}b/utf
\= Expect no match
Xx\=ps
No match
X\x{123}x\=ps
@ -947,6 +929,7 @@ No match
No match
/X\x{123}{2,4}?b/utf
\= Expect no match
Xx\=ps
No match
X\x{123}x\=ps
@ -959,6 +942,7 @@ No match
No match
/X\x{123}{2,4}+b/utf
\= Expect no match
Xx\=ps
No match
X\x{123}x\=ps
@ -1745,6 +1729,7 @@ Last code unit = 'y'
Subject length lower bound = 2
/(?<!^)ETA/utf
\= Expect no match
ETA
No match
@ -1874,8 +1859,7 @@ Subject length lower bound = 1
0: 12-34
12+\x{661}-34
0: 12+\x{661}-34
** Failers
No match
\= Expect no match
abcd
No match
@ -1995,8 +1979,7 @@ No match
/^\p{Cs}/utf
\x{dfff}\=no_utf_check
0: \x{dfff}
** Failers
No match
\= Expect no match
\x{09f}
No match
@ -2021,8 +2004,7 @@ No match
0: $\x{a2}\x{a3}\x{a4}\x{a5}
\x{9f2}
0: \x{9f2}
** Failers
No match
\= Expect no match
X
No match
\x{2c2}
@ -2039,8 +2021,7 @@ No match
0: \x{2000}
\x{2001}
0: \x{2001}
** Failers
No match
\= Expect no match
\x{2028}
No match
\x{200d}
@ -2052,16 +2033,14 @@ No match
/\p{^Lu}/i,utf
1234
0: 1
** Failers
0: *
\= Expect no match
ABC
No match
/\P{Lu}/i,utf
1234
0: 1
** Failers
0: *
\= Expect no match
ABC
No match
@ -2070,8 +2049,7 @@ No match
0: a
Az
0: z
** Failers
0: a
\= Expect no match
ABC
No match
@ -2080,8 +2058,7 @@ No match
0: A
a\x{10a0}B
0: \x{10a0}
** Failers
0: F
\= Expect no match
a
No match
\x{1d00}
@ -2092,8 +2069,7 @@ No match
0: A
aZ
0: Z
** Failers
0: F
\= Expect no match
abc
No match
@ -2182,16 +2158,14 @@ No match
0: \x{a6c}
\x{10a7}
0: \x{10a7}
** Failers
No match
\= Expect no match
_ABC
No match
/^\p{Xan}+/utf
ABCD1234\x{6ca}\x{a6c}\x{10a7}_
0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
** Failers
No match
\= Expect no match
_ABC
No match
@ -2222,16 +2196,14 @@ No match
0: \x{a6c}
\x{10a7}
0: \x{10a7}
** Failers
No match
\= Expect no match
_ABC
No match
/^[\p{Xan}]+/utf
ABCD1234\x{6ca}\x{a6c}\x{10a7}_
0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
** Failers
No match
\= Expect no match
_ABC
No match
@ -2240,8 +2212,7 @@ No match
0: >\x{1680}
>\x{a0}
0: >\x{a0}
** Failers
No match
\= Expect no match
\x{0b}
No match
@ -2278,8 +2249,7 @@ No match
0: >\x{1680}
>\x{a0}
0: >\x{a0}
** Failers
No match
\= Expect no match
\x{0b}
No match
@ -2324,8 +2294,7 @@ No match
0: \x{10a7}
_ABC
0: _
** Failers
No match
\= Expect no match
[]
No match
@ -2362,8 +2331,7 @@ No match
0: \x{10a7}
_ABC
0: _
** Failers
No match
\= Expect no match
[]
No match
@ -2630,8 +2598,7 @@ No match
/\b...\B/utf
abc_
0: abc
** Failers
0: Fai
\= Expect no match
\x{37e}abc\x{376}
No match
\x{37e}\x{376}\x{371}\x{393}\x{394}
@ -2825,10 +2792,12 @@ No match
# These behaved oddly in Perl, so they are kept in this test
/(\x{23a}\x{23a}\x{23a})?\1/i,utf
\= Expect no match
\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
No match
/(ȺȺȺ)?\1/i,utf
\= Expect no match
ȺȺȺⱥⱥ
No match
@ -2843,10 +2812,12 @@ No match
1: \x{23a}\x{23a}\x{23a}
/(\x{23a}\x{23a}\x{23a})\1/i,utf
\= Expect no match
\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
No match
/(ȺȺȺ)\1/i,utf
\= Expect no match
ȺȺȺⱥⱥ
No match
@ -2887,8 +2858,7 @@ No match
0: \x{1bc0}
\x{1bff}
0: \x{1bff}
** Failers
No match
\= Expect no match
\x{1bf4}
No match
@ -2897,8 +2867,7 @@ No match
0: \x{11000}
\x{1106f}
0: \x{1106f}
** Failers
No match
\= Expect no match
\x{1104e}
No match
@ -2907,8 +2876,7 @@ No match
0: \x{840}
\x{85e}
0: \x{85e}
** Failers
No match
\= Expect no match
\x{85c}
No match
\x{85d}
@ -2933,8 +2901,7 @@ No match
/^a\X41z/alt_bsux,allow_empty_class,match_unset_backref,dupnames
aX41z
0: aX41z
*** Failers
No match
\= Expect no match
aAz
No match
@ -3138,8 +3105,7 @@ Subject length lower bound = 3
0+
/\x{3a3}++./i,utf,aftertext
** Failers
No match
\= Expect no match
\x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
No match
@ -3179,24 +3145,29 @@ No match
Ket
End
------------------------------------------------------------------
\= Expect no match
ikt
No match
/is+t/i,utf
iSs\x{17f}t
0: iSs\x{17f}t
\= Expect no match
ikt
No match
/is+?t/i,utf
\= Expect no match
ikt
No match
/is?t/i,utf
\= Expect no match
ikt
No match
/is{2}t/i,utf
\= Expect no match
iskt
No match
@ -3211,80 +3182,70 @@ No match
0: `
\x{1234}abc
0: \x{1234}
** Failers
No match
\= Expect no match
abc
No match
/^\p{Xuc}+/utf
$@`\x{a0}\x{1234}\x{e000}**
0: $@`\x{a0}\x{1234}\x{e000}
** Failers
No match
\= Expect no match
\x{9f}
No match
/^\p{Xuc}+?/utf
$@`\x{a0}\x{1234}\x{e000}**
0: $
** Failers
No match
\= Expect no match
\x{9f}
No match
/^\p{Xuc}+?\*/utf
$@`\x{a0}\x{1234}\x{e000}**
0: $@`\x{a0}\x{1234}\x{e000}*
** Failers
No match
\= Expect no match
\x{9f}
No match
/^\p{Xuc}++/utf
$@`\x{a0}\x{1234}\x{e000}**
0: $@`\x{a0}\x{1234}\x{e000}
** Failers
No match
\= Expect no match
\x{9f}
No match
/^\p{Xuc}{3,5}/utf
$@`\x{a0}\x{1234}\x{e000}**
0: $@`\x{a0}\x{1234}
** Failers
No match
\= Expect no match
\x{9f}
No match
/^\p{Xuc}{3,5}?/utf
$@`\x{a0}\x{1234}\x{e000}**
0: $@`
** Failers
No match
\= Expect no match
\x{9f}
No match
/^[\p{Xuc}]/utf
$@`\x{a0}\x{1234}\x{e000}**
0: $
** Failers
No match
\= Expect no match
\x{9f}
No match
/^[\p{Xuc}]+/utf
$@`\x{a0}\x{1234}\x{e000}**
0: $@`\x{a0}\x{1234}\x{e000}
** Failers
No match
\= Expect no match
\x{9f}
No match
/^\P{Xuc}/utf
abc
0: a
** Failers
0: *
\= Expect no match
$abc
No match
@abc
@ -3297,8 +3258,7 @@ No match
/^[\P{Xuc}]/utf
abc
0: a
** Failers
0: *
\= Expect no match
$abc
No match
@abc
@ -4053,10 +4013,12 @@ Failed: error 124 at offset 113: letter or underscore expected after (?< or (?'
/\C\X*TӅ;
{0,6}\v+ F
/utf
\= Expect no match
Ӆ\x0a
No match
/\C(\W?ſ)'?{{/utf
\= Expect no match
\\C(\\W?ſ)'?{{
No match

918
testdata/testoutput6 vendored

File diff suppressed because it is too large Load Diff

615
testdata/testoutput7 vendored

File diff suppressed because it is too large Load Diff

View File

@ -9,8 +9,7 @@
0: aXb
a\nb
0: a\x0ab
** Failers (too big char)
No match
\= Expect no match and error message (too big char)
A\x{123}B
** Character \x{123} is greater than 255 and UTF-8 mode is not enabled.
** Truncation will probably give the wrong result.