version 1.1, 2012/02/21 23:05:52
|
version 1.1.1.2, 2012/02/21 23:50:25
|
Line 1
|
Line 1
|
/-- This set of tests checks the API, internals, and non-Perl stuff for UTF-8 | /-- This set of tests checks the API, internals, and non-Perl stuff for UTF |
support, excluding Unicode properties. --/ | support, excluding Unicode properties. However, tests that give different |
| results in 8-bit and 16-bit modes are excluded (see tests 16 and 17). --/ |
|
|
/\x{100}/8DZ | /\x{110000}/8DZ |
|
|
/\x{1000}/8DZ | /\x{ffffffff}/8 |
|
|
/\x{10000}/8DZ | /\x{100000000}/8 |
|
|
/\x{100000}/8DZ | /\x{d800}/8 |
|
|
/\x{1000000}/8DZ | /\x{dfff}/8 |
|
|
/\x{4000000}/8DZ | /\x{d7ff}/8 |
|
|
/\x{7fffFFFF}/8DZ | /\x{e000}/8 |
|
|
/[\x{ff}]/8DZ |
|
|
|
/[\x{100}]/8DZ |
|
|
|
/\x{ffffffff}/8 |
|
|
|
/\x{100000000}/8 |
|
|
|
/^\x{100}a\x{1234}/8 |
/^\x{100}a\x{1234}/8 |
\x{100}a\x{1234}bcd |
\x{100}a\x{1234}bcd |
|
|
/\x80/8DZ |
|
|
|
/\xff/8DZ |
|
|
|
/\x{0041}\x{2262}\x{0391}\x{002e}/DZ8 |
/\x{0041}\x{2262}\x{0391}\x{002e}/DZ8 |
\x{0041}\x{2262}\x{0391}\x{002e} |
\x{0041}\x{2262}\x{0391}\x{002e} |
|
|
/\x{D55c}\x{ad6d}\x{C5B4}/DZ8 |
|
\x{D55c}\x{ad6d}\x{C5B4} |
|
|
|
/\x{65e5}\x{672c}\x{8a9e}/DZ8 |
|
\x{65e5}\x{672c}\x{8a9e} |
|
|
|
/\x{80}/DZ8 |
|
|
|
/\x{084}/DZ8 |
|
|
|
/\x{104}/DZ8 |
|
|
|
/\x{861}/DZ8 |
|
|
|
/\x{212ab}/DZ8 |
|
|
|
/.{3,5}X/DZ8 |
/.{3,5}X/DZ8 |
\x{212ab}\x{212ab}\x{212ab}\x{861}X |
\x{212ab}\x{212ab}\x{212ab}\x{861}X |
|
|
|
|
/.{3,5}?/DZ8 |
/.{3,5}?/DZ8 |
\x{212ab}\x{212ab}\x{212ab}\x{861} |
\x{212ab}\x{212ab}\x{212ab}\x{861} |
|
|
/(?<=\C)X/8 |
/(?<=\C)X/8 |
Should produce an error diagnostic |
Should produce an error diagnostic |
|
|
/-- 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.) --/ |
|
|
|
/X(\C)(.*)/8 |
|
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/8 |
|
*** Failers |
|
a\x{100}b |
|
|
|
/^[ab]/8DZ |
/^[ab]/8DZ |
bar |
bar |
*** Failers |
*** Failers |
Line 88 correctly, but that messes up comparisons). --/
|
Line 45 correctly, but that messes up comparisons). --/
|
*** Failers |
*** Failers |
aaa |
aaa |
|
|
/[^ab\xC0-\xF0]/8SDZ |
|
\x{f1} |
|
\x{bf} |
|
\x{100} |
|
\x{1000} |
|
*** Failers |
|
\x{c0} |
|
\x{f0} |
|
|
|
/Ā{3,4}/8SDZ |
|
\x{100}\x{100}\x{100}\x{100\x{100} |
|
|
|
/(\x{100}+|x)/8SDZ |
|
|
|
/(\x{100}*a|x)/8SDZ |
|
|
|
/(\x{100}{0,2}a|x)/8SDZ |
|
|
|
/(\x{100}{1,2}a|x)/8SDZ |
|
|
|
/\x{100}*(\d+|"(?1)")/8 |
/\x{100}*(\d+|"(?1)")/8 |
1234 |
1234 |
"1234" |
"1234" |
Line 118 correctly, but that messes up comparisons). --/
|
Line 55 correctly, but that messes up comparisons). --/
|
*** Failers |
*** Failers |
\x{100}\x{100}abcd |
\x{100}\x{100}abcd |
|
|
/\x{100}/8DZ |
|
|
|
/\x{100}*/8DZ |
/\x{100}*/8DZ |
|
|
/a\x{100}*/8DZ |
/a\x{100}*/8DZ |
|
|
/ab\x{100}*/8DZ |
/ab\x{100}*/8DZ |
|
|
/a\x{100}\x{101}*/8DZ |
|
|
|
/a\x{100}\x{101}+/8DZ |
|
|
|
/\x{100}*A/8DZ |
/\x{100}*A/8DZ |
A |
A |
|
|
/\x{100}*\d(?R)/8DZ |
/\x{100}*\d(?R)/8DZ |
|
|
/[^\x{c4}]/DZ |
|
|
|
/[^\x{c4}]/8DZ |
|
|
|
/[\x{100}]/8DZ |
|
\x{100} |
|
Z\x{100} |
|
\x{100}Z |
|
*** Failers |
|
|
|
/[Z\x{100}]/8DZ |
/[Z\x{100}]/8DZ |
Z\x{100} |
Z\x{100} |
\x{100} |
\x{100} |
Line 169 correctly, but that messes up comparisons). --/
|
Line 90 correctly, but that messes up comparisons). --/
|
/[\xFF]/DZ |
/[\xFF]/DZ |
>\xff< |
>\xff< |
|
|
/[\xff]/DZ8 |
|
>\x{ff}< |
|
|
|
/[^\xFF]/DZ |
/[^\xFF]/DZ |
|
|
/[^\xff]/8DZ |
|
|
|
/[Ä-Ü]/8 |
/[Ä-Ü]/8 |
Ö # Matches without Study |
Ö # Matches without Study |
\x{d6} |
\x{d6} |
Line 192 correctly, but that messes up comparisons). --/
|
Line 108 correctly, but that messes up comparisons). --/
|
Ö <-- Same with Study |
Ö <-- Same with Study |
\x{d6} |
\x{d6} |
|
|
/[]/8 |
|
|
|
//8 |
|
|
|
/xxx/8 |
|
|
|
/xxx/8?DZSS |
|
|
|
/abc/8 |
|
] |
|
|
|
|
|
\? |
|
\xe1\x88 |
|
\P\xe1\x88 |
|
\P\P\xe1\x88 |
|
XX\xea |
|
\O0XX\xea |
|
\O1XX\xea |
|
\O2XX\xea |
|
XX\xf1 |
|
XX\xf8 |
|
XX\xfc |
|
ZZ\xea\xaf\x20YY |
|
ZZ\xfd\xbf\xbf\x2f\xbf\xbfYY |
|
ZZ\xfd\xbf\xbf\xbf\x2f\xbfYY |
|
ZZ\xfd\xbf\xbf\xbf\xbf\x2fYY |
|
ZZ\xffYY |
|
ZZ\xfeYY |
|
|
|
/anything/8 |
|
\xc0\x80 |
|
\xc1\x8f |
|
\xe0\x9f\x80 |
|
\xf0\x8f\x80\x80 |
|
\xf8\x87\x80\x80\x80 |
|
\xfc\x83\x80\x80\x80\x80 |
|
\xfe\x80\x80\x80\x80\x80 |
|
\xff\x80\x80\x80\x80\x80 |
|
\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 |
|
\?\xf9\x87\x80\x80\x80 |
|
\?\xfc\x84\x80\x80\x80\x80 |
|
\?\xfd\x83\x80\x80\x80\x80 |
|
|
|
/\x{100}abc(xyz(?1))/8DZ |
|
|
|
/[^\x{100}]abc(xyz(?1))/8DZ |
/[^\x{100}]abc(xyz(?1))/8DZ |
|
|
/[ab\x{100}]abc(xyz(?1))/8DZ |
/[ab\x{100}]abc(xyz(?1))/8DZ |
Line 266 correctly, but that messes up comparisons). --/
|
Line 127 correctly, but that messes up comparisons). --/
|
/\w/8 |
/\w/8 |
\x{100}X |
\x{100}X |
|
|
/a\x{1234}b/P8 |
|
a\x{1234}b |
|
|
|
/^\ሴ/8DZ |
/^\ሴ/8DZ |
|
|
/\777/I |
|
|
|
/\777/8I |
|
\x{1ff} |
|
\777 |
|
|
|
/\x{100}*\d/8DZ |
/\x{100}*\d/8DZ |
|
|
/\x{100}*\s/8DZ |
/\x{100}*\s/8DZ |
Line 289 correctly, but that messes up comparisons). --/
|
Line 141 correctly, but that messes up comparisons). --/
|
|
|
/\x{100}*\W/8DZ |
/\x{100}*\W/8DZ |
|
|
/\x{100}+\x{200}/8DZ |
|
|
|
/\x{100}+X/8DZ |
|
|
|
/X+\x{200}/8DZ |
|
|
|
/()()()()()()()()()() |
/()()()()()()()()()() |
()()()()()()()()()() |
()()()()()()()()()() |
()()()()()()()()()() |
()()()()()()()()()() |
Line 306 correctly, but that messes up comparisons). --/
|
Line 152 correctly, but that messes up comparisons). --/
|
|
|
/^[\QĀ\E-\QŐ\E]/BZ8 |
/^[\QĀ\E-\QŐ\E]/BZ8 |
|
|
/^[\QĀ\E-\QŐ\E/BZ8 |
|
|
|
/^abc./mgx8<any> |
/^abc./mgx8<any> |
abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK |
abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK |
|
|
Line 402 correctly, but that messes up comparisons). --/
|
Line 246 correctly, but that messes up comparisons). --/
|
/.*$/8<any> |
/.*$/8<any> |
\x{1ec5} |
\x{1ec5} |
|
|
/-- This tests the stricter UTF-8 check according to RFC 3629. --/ |
|
|
|
/X/8 |
|
\x{0}\x{d7ff}\x{e000}\x{10ffff} |
|
\x{d800} |
|
\x{d800}\? |
|
\x{da00} |
|
\x{da00}\? |
|
\x{dfff} |
|
\x{dfff}\? |
|
\x{110000} |
|
\x{110000}\? |
|
\x{2000000} |
|
\x{2000000}\? |
|
\x{7fffffff} |
|
\x{7fffffff}\? |
|
|
|
/a\Rb/I8<bsr_anycrlf> |
/a\Rb/I8<bsr_anycrlf> |
a\rb |
a\rb |
a\nb |
a\nb |
Line 477 correctly, but that messes up comparisons). --/
|
Line 304 correctly, but that messes up comparisons). --/
|
|
|
/(\x{de})\1/ |
/(\x{de})\1/ |
\x{de}\x{de} |
\x{de}\x{de} |
\x{123} |
|
|
|
/X/8f<any> |
/X/8f<any> |
A\x{1ec5}ABCXYZ |
A\x{1ec5}ABCXYZ |
|
|
/(*UTF8)\x{1234}/ |
|
abcd\x{1234}pqr |
|
|
|
/(*CRLF)(*UTF8)(*BSR_UNICODE)a\Rb/I |
|
|
|
/Xa{2,4}b/8 |
/Xa{2,4}b/8 |
X\P |
X\P |
Xa\P |
Xa\P |
Line 768 correctly, but that messes up comparisons). --/
|
Line 589 correctly, but that messes up comparisons). --/
|
/X\W{3}X/8 |
/X\W{3}X/8 |
\PX |
\PX |
|
|
/\h/SI |
|
|
|
/\h/SI8 |
|
ABC\x{09} |
|
ABC\x{20} |
|
ABC\x{a0} |
|
ABC\x{1680} |
|
ABC\x{180e} |
|
ABC\x{2000} |
|
ABC\x{202f} |
|
ABC\x{205f} |
|
ABC\x{3000} |
|
|
|
/\v/SI |
|
|
|
/\v/SI8 |
|
ABC\x{0a} |
|
ABC\x{0b} |
|
ABC\x{0c} |
|
ABC\x{0d} |
|
ABC\x{85} |
|
ABC\x{2028} |
|
|
|
/\R/SI |
|
|
|
/\R/SI8 |
|
|
|
/\h*A/SI8 |
|
CDBABC |
|
|
|
/\v+A/SI8 |
|
|
|
/\s?xxx\s/8SI |
|
|
|
/\sxxx\s/8T1 |
/\sxxx\s/8T1 |
AB\x{85}xxx\x{a0}XYZ |
AB\x{85}xxx\x{a0}XYZ |
AB\x{a0}xxx\x{85}XYZ |
AB\x{a0}xxx\x{85}XYZ |
|
|
/\sxxx\s/I8ST1 |
|
AB\x{85}xxx\x{a0}XYZ |
|
AB\x{a0}xxx\x{85}XYZ |
|
|
|
/\S \S/8T1 |
/\S \S/8T1 |
\x{a2} \x{84} |
\x{a2} \x{84} |
|
|
/\S \S/I8ST1 |
|
\x{a2} \x{84} |
|
A Z |
|
|
|
'A#хц'8x<any>BZ |
'A#хц'8x<any>BZ |
|
|
'A#хц |
'A#хц |
Line 832 correctly, but that messes up comparisons). --/
|
Line 611 correctly, but that messes up comparisons). --/
|
|
|
/\g{A}xxx#bх(?'A'123)
(?'A'456)/8x<any>BZ |
/\g{A}xxx#bх(?'A'123)
(?'A'456)/8x<any>BZ |
|
|
/a+/8 |
|
a\x{123}aa\>1 |
|
a\x{123}aa\>2 |
|
a\x{123}aa\>3 |
|
a\x{123}aa\>4 |
|
a\x{123}aa\>5 |
|
a\x{123}aa\>6 |
|
|
|
/^\cģ/8 |
/^\cģ/8 |
|
|
/(\R*)(.)/s8 |
/(\R*)(.)/s8 |
Line 852 correctly, but that messes up comparisons). --/
|
Line 623 correctly, but that messes up comparisons). --/
|
\r\r\n\n\r |
\r\r\n\n\r |
\r\r\n\n\r\n |
\r\r\n\n\r\n |
|
|
/\x{1234}+/iS8I |
|
|
|
/\x{1234}+?/iS8I |
|
|
|
/\x{1234}++/iS8I |
|
|
|
/\x{1234}{2}/iS8I |
|
|
|
/[^\x{1234}]+/iS8I |
/[^\x{1234}]+/iS8I |
|
|
/[^\x{1234}]+?/iS8I |
/[^\x{1234}]+?/iS8I |
Line 881 correctly, but that messes up comparisons). --/
|
Line 644 correctly, but that messes up comparisons). --/
|
|
|
/f.*/8s |
/f.*/8s |
\P\Pfor |
\P\Pfor |
|
|
|
/\x{d7ff}\x{e000}/8 |
|
|
|
/\x{d800}/8 |
|
|
|
/\x{dfff}/8 |
|
|
|
/\h+/8 |
|
\x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} |
|
\x{3001}\x{2fff}\x{200a}\x{a0}\x{2000} |
|
|
|
/[\h\x{e000}]+/8BZ |
|
\x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} |
|
\x{3001}\x{2fff}\x{200a}\x{a0}\x{2000} |
|
|
|
/\H+/8 |
|
\x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f} |
|
\x{2000}\x{200a}\x{1fff}\x{200b} |
|
\x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060} |
|
\x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001} |
|
|
|
/[\H\x{d7ff}]+/8BZ |
|
\x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f} |
|
\x{2000}\x{200a}\x{1fff}\x{200b} |
|
\x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060} |
|
\x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001} |
|
|
|
/\v+/8 |
|
\x{2027}\x{2030}\x{2028}\x{2029} |
|
\x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d |
|
|
|
/[\v\x{e000}]+/8BZ |
|
\x{2027}\x{2030}\x{2028}\x{2029} |
|
\x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d |
|
|
|
/\V+/8 |
|
\x{2028}\x{2029}\x{2027}\x{2030} |
|
\x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86} |
|
|
|
/[\V\x{d7ff}]+/8BZ |
|
\x{2028}\x{2029}\x{2027}\x{2030} |
|
\x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86} |
|
|
|
/\R+/8<bsr_unicode> |
|
\x{2027}\x{2030}\x{2028}\x{2029} |
|
\x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d |
|
|
/-- End of testinput5 --/ |
/-- End of testinput5 --/ |