/-- This set of tests is for Unicode property support. It is compatible with Perl >= 5.15. --/ < forbid 9?=ABCDEFfGILMNPTUXZ< /^\pC\pL\pM\pN\pP\pS\pZ\s+/8W >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} /^>\pZ+/8W >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} /^>[[:space:]]*/8W >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b} /^>[[:blank:]]*/8W >\x{20}\x{a0}\x{1680}\x{180e}\x{2000}\x{202f}\x{9}\x{b}\x{2028} /^[[:alpha:]]*/8W Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d} /^[[:alnum:]]*/8W Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee} /^[[:cntrl:]]*/8W \x{0}\x{09}\x{1f}\x{7f}\x{9f} /^[[:graph:]]*/8W A\x{a1}\x{a0} /^[[:print:]]*/8W A z\x{a0}\x{a1} /^[[:punct:]]*/8W .+\x{a1}\x{a0} /\p{Zs}*?\R/ ** Failers a\xFCb /\p{Zs}*\R/ ** Failers a\xFCb /ⱥ/8i ⱥ Ⱥx Ⱥ /[ⱥ]/8i ⱥ Ⱥx Ⱥ /Ⱥ/8i Ⱥ ⱥ /-- These are tests for extended grapheme clusters --/ /^\X/8+ G\x{34e}\x{34e}X \x{34e}\x{34e}X \x04X \x{1100}X \x{1100}\x{34e}X \x{1b04}\x{1b04}X *These match up to the roman letters \x{1111}\x{1111}L,L \x{1111}\x{1111}\x{1169}L,L,V \x{1111}\x{ae4c}L, LV \x{1111}\x{ad89}L, LVT \x{1111}\x{ae4c}\x{1169}L, LV, V \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T \x{1111}\x{ad89}\x{11fe}L, LVT, T \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T \x{ad89}\x{11fe}\x{11fe}LVT, T, T *These match just the first codepoint (invalid sequence) \x{1111}\x{11fe}L, T \x{ae4c}\x{1111}LV, L \x{ae4c}\x{ae4c}LV, LV \x{ae4c}\x{ad89}LV, LVT \x{1169}\x{1111}V, L \x{1169}\x{ae4c}V, LV \x{1169}\x{ad89}V, LVT \x{ad89}\x{1111}LVT, L \x{ad89}\x{1169}LVT, V \x{ad89}\x{ae4c}LVT, LV \x{ad89}\x{ad89}LVT, LVT \x{11fe}\x{1111}T, L \x{11fe}\x{1169}T, V \x{11fe}\x{ae4c}T, LV \x{11fe}\x{ad89}T, LVT *Test extend and spacing mark \x{1111}\x{ae4c}\x{0711}L, LV, extend \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark *Test CR, LF, and control \x0d\x{0711}CR, extend \x0d\x{1b04}CR, spacingmark \x0a\x{0711}LF, extend \x0a\x{1b04}LF, spacingmark \x0b\x{0711}Control, extend \x09\x{1b04}Control, spacingmark *There are no Prepend characters, so we can't test Prepend, CR /^(?>\X{2})X/8+ \x{1111}\x{ae4c}\x{1111}\x{ae4c}X /^\X{2,4}X/8+ \x{1111}\x{ae4c}\x{1111}\x{ae4c}X \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X /^\X{2,4}?X/8+ \x{1111}\x{ae4c}\x{1111}\x{ae4c}X \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X /\X*Z/8Y A\x{300} /\X*(.)/8Y A\x{1111}\x{ae4c}\x{1169} /\X?abc/8Y \xff\x7f\x00\x00\x03\x00\x41\xcc\x80\x41\x{300}\x61\x62\x63\x00\>06\? /-- --/ /\x{1e9e}+/8i \x{1e9e}\x{00df} /[z\x{1e9e}]+/8i \x{1e9e}\x{00df} /\x{00df}+/8i \x{1e9e}\x{00df} /[z\x{00df}]+/8i \x{1e9e}\x{00df} /\x{1f88}+/8i \x{1f88}\x{1f80} /[z\x{1f88}]+/8i \x{1f88}\x{1f80} /-- Characters with more than one other case; test in classes --/ /[z\x{00b5}]+/8i \x{00b5}\x{039c}\x{03bc} /[z\x{039c}]+/8i \x{00b5}\x{039c}\x{03bc} /[z\x{03bc}]+/8i \x{00b5}\x{039c}\x{03bc} /[z\x{00c5}]+/8i \x{00c5}\x{00e5}\x{212b} /[z\x{00e5}]+/8i \x{00c5}\x{00e5}\x{212b} /[z\x{212b}]+/8i \x{00c5}\x{00e5}\x{212b} /[z\x{01c4}]+/8i \x{01c4}\x{01c5}\x{01c6} /[z\x{01c5}]+/8i \x{01c4}\x{01c5}\x{01c6} /[z\x{01c6}]+/8i \x{01c4}\x{01c5}\x{01c6} /[z\x{01c7}]+/8i \x{01c7}\x{01c8}\x{01c9} /[z\x{01c8}]+/8i \x{01c7}\x{01c8}\x{01c9} /[z\x{01c9}]+/8i \x{01c7}\x{01c8}\x{01c9} /[z\x{01ca}]+/8i \x{01ca}\x{01cb}\x{01cc} /[z\x{01cb}]+/8i \x{01ca}\x{01cb}\x{01cc} /[z\x{01cc}]+/8i \x{01ca}\x{01cb}\x{01cc} /[z\x{01f1}]+/8i \x{01f1}\x{01f2}\x{01f3} /[z\x{01f2}]+/8i \x{01f1}\x{01f2}\x{01f3} /[z\x{01f3}]+/8i \x{01f1}\x{01f2}\x{01f3} /[z\x{0345}]+/8i \x{0345}\x{0399}\x{03b9}\x{1fbe} /[z\x{0399}]+/8i \x{0345}\x{0399}\x{03b9}\x{1fbe} /[z\x{03b9}]+/8i \x{0345}\x{0399}\x{03b9}\x{1fbe} /[z\x{1fbe}]+/8i \x{0345}\x{0399}\x{03b9}\x{1fbe} /[z\x{0392}]+/8i \x{0392}\x{03b2}\x{03d0} /[z\x{03b2}]+/8i \x{0392}\x{03b2}\x{03d0} /[z\x{03d0}]+/8i \x{0392}\x{03b2}\x{03d0} /[z\x{0395}]+/8i \x{0395}\x{03b5}\x{03f5} /[z\x{03b5}]+/8i \x{0395}\x{03b5}\x{03f5} /[z\x{03f5}]+/8i \x{0395}\x{03b5}\x{03f5} /[z\x{0398}]+/8i \x{0398}\x{03b8}\x{03d1}\x{03f4} /[z\x{03b8}]+/8i \x{0398}\x{03b8}\x{03d1}\x{03f4} /[z\x{03d1}]+/8i \x{0398}\x{03b8}\x{03d1}\x{03f4} /[z\x{03f4}]+/8i \x{0398}\x{03b8}\x{03d1}\x{03f4} /[z\x{039a}]+/8i \x{039a}\x{03ba}\x{03f0} /[z\x{03ba}]+/8i \x{039a}\x{03ba}\x{03f0} /[z\x{03f0}]+/8i \x{039a}\x{03ba}\x{03f0} /[z\x{03a0}]+/8i \x{03a0}\x{03c0}\x{03d6} /[z\x{03c0}]+/8i \x{03a0}\x{03c0}\x{03d6} /[z\x{03d6}]+/8i \x{03a0}\x{03c0}\x{03d6} /[z\x{03a1}]+/8i \x{03a1}\x{03c1}\x{03f1} /[z\x{03c1}]+/8i \x{03a1}\x{03c1}\x{03f1} /[z\x{03f1}]+/8i \x{03a1}\x{03c1}\x{03f1} /[z\x{03a3}]+/8i \x{03A3}\x{03C2}\x{03C3} /[z\x{03c2}]+/8i \x{03A3}\x{03C2}\x{03C3} /[z\x{03c3}]+/8i \x{03A3}\x{03C2}\x{03C3} /[z\x{03a6}]+/8i \x{03a6}\x{03c6}\x{03d5} /[z\x{03c6}]+/8i \x{03a6}\x{03c6}\x{03d5} /[z\x{03d5}]+/8i \x{03a6}\x{03c6}\x{03d5} /[z\x{03c9}]+/8i \x{03c9}\x{03a9}\x{2126} /[z\x{03a9}]+/8i \x{03c9}\x{03a9}\x{2126} /[z\x{2126}]+/8i \x{03c9}\x{03a9}\x{2126} /[z\x{1e60}]+/8i \x{1e60}\x{1e61}\x{1e9b} /[z\x{1e61}]+/8i \x{1e60}\x{1e61}\x{1e9b} /[z\x{1e9b}]+/8i \x{1e60}\x{1e61}\x{1e9b} /-- Perl 5.12.4 gets these wrong, but 5.15.3 is OK --/ /[z\x{004b}]+/8i \x{004b}\x{006b}\x{212a} /[z\x{006b}]+/8i \x{004b}\x{006b}\x{212a} /[z\x{212a}]+/8i \x{004b}\x{006b}\x{212a} /[z\x{0053}]+/8i \x{0053}\x{0073}\x{017f} /[z\x{0073}]+/8i \x{0053}\x{0073}\x{017f} /[z\x{017f}]+/8i \x{0053}\x{0073}\x{017f} /-- --/ /(ΣΆΜΟΣ) \1/8i ΣΆΜΟΣ ΣΆΜΟΣ ΣΆΜΟΣ σάμος σάμος σάμος σάμος σάμοσ σάμος ΣΆΜΟΣ /(σάμος) \1/8i ΣΆΜΟΣ ΣΆΜΟΣ ΣΆΜΟΣ σάμος σάμος σάμος σάμος σάμοσ σάμος ΣΆΜΟΣ /(ΣΆΜΟΣ) \1*/8i ΣΆΜΟΣ\x20 ΣΆΜΟΣ ΣΆΜΟΣσάμοςσάμος /-- Perl matches these --/ /\x{00b5}+/8i \x{00b5}\x{039c}\x{03bc} /\x{039c}+/8i \x{00b5}\x{039c}\x{03bc} /\x{03bc}+/8i \x{00b5}\x{039c}\x{03bc} /\x{00c5}+/8i \x{00c5}\x{00e5}\x{212b} /\x{00e5}+/8i \x{00c5}\x{00e5}\x{212b} /\x{212b}+/8i \x{00c5}\x{00e5}\x{212b} /\x{01c4}+/8i \x{01c4}\x{01c5}\x{01c6} /\x{01c5}+/8i \x{01c4}\x{01c5}\x{01c6} /\x{01c6}+/8i \x{01c4}\x{01c5}\x{01c6} /\x{01c7}+/8i \x{01c7}\x{01c8}\x{01c9} /\x{01c8}+/8i \x{01c7}\x{01c8}\x{01c9} /\x{01c9}+/8i \x{01c7}\x{01c8}\x{01c9} /\x{01ca}+/8i \x{01ca}\x{01cb}\x{01cc} /\x{01cb}+/8i \x{01ca}\x{01cb}\x{01cc} /\x{01cc}+/8i \x{01ca}\x{01cb}\x{01cc} /\x{01f1}+/8i \x{01f1}\x{01f2}\x{01f3} /\x{01f2}+/8i \x{01f1}\x{01f2}\x{01f3} /\x{01f3}+/8i \x{01f1}\x{01f2}\x{01f3} /\x{0345}+/8i \x{0345}\x{0399}\x{03b9}\x{1fbe} /\x{0399}+/8i \x{0345}\x{0399}\x{03b9}\x{1fbe} /\x{03b9}+/8i \x{0345}\x{0399}\x{03b9}\x{1fbe} /\x{1fbe}+/8i \x{0345}\x{0399}\x{03b9}\x{1fbe} /\x{0392}+/8i \x{0392}\x{03b2}\x{03d0} /\x{03b2}+/8i \x{0392}\x{03b2}\x{03d0} /\x{03d0}+/8i \x{0392}\x{03b2}\x{03d0} /\x{0395}+/8i \x{0395}\x{03b5}\x{03f5} /\x{03b5}+/8i \x{0395}\x{03b5}\x{03f5} /\x{03f5}+/8i \x{0395}\x{03b5}\x{03f5} /\x{0398}+/8i \x{0398}\x{03b8}\x{03d1}\x{03f4} /\x{03b8}+/8i \x{0398}\x{03b8}\x{03d1}\x{03f4} /\x{03d1}+/8i \x{0398}\x{03b8}\x{03d1}\x{03f4} /\x{03f4}+/8i \x{0398}\x{03b8}\x{03d1}\x{03f4} /\x{039a}+/8i \x{039a}\x{03ba}\x{03f0} /\x{03ba}+/8i \x{039a}\x{03ba}\x{03f0} /\x{03f0}+/8i \x{039a}\x{03ba}\x{03f0} /\x{03a0}+/8i \x{03a0}\x{03c0}\x{03d6} /\x{03c0}+/8i \x{03a0}\x{03c0}\x{03d6} /\x{03d6}+/8i \x{03a0}\x{03c0}\x{03d6} /\x{03a1}+/8i \x{03a1}\x{03c1}\x{03f1} /\x{03c1}+/8i \x{03a1}\x{03c1}\x{03f1} /\x{03f1}+/8i \x{03a1}\x{03c1}\x{03f1} /\x{03a3}+/8i \x{03A3}\x{03C2}\x{03C3} /\x{03c2}+/8i \x{03A3}\x{03C2}\x{03C3} /\x{03c3}+/8i \x{03A3}\x{03C2}\x{03C3} /\x{03a6}+/8i \x{03a6}\x{03c6}\x{03d5} /\x{03c6}+/8i \x{03a6}\x{03c6}\x{03d5} /\x{03d5}+/8i \x{03a6}\x{03c6}\x{03d5} /\x{03c9}+/8i \x{03c9}\x{03a9}\x{2126} /\x{03a9}+/8i \x{03c9}\x{03a9}\x{2126} /\x{2126}+/8i \x{03c9}\x{03a9}\x{2126} /\x{1e60}+/8i \x{1e60}\x{1e61}\x{1e9b} /\x{1e61}+/8i \x{1e60}\x{1e61}\x{1e9b} /\x{1e9b}+/8i \x{1e60}\x{1e61}\x{1e9b} /\x{1e9e}+/8i \x{1e9e}\x{00df} /\x{00df}+/8i \x{1e9e}\x{00df} /\x{1f88}+/8i \x{1f88}\x{1f80} /\x{1f80}+/8i \x{1f88}\x{1f80} /-- Perl 5.12.4 gets these wrong, but 5.15.3 is OK --/ /\x{004b}+/8i \x{004b}\x{006b}\x{212a} /\x{006b}+/8i \x{004b}\x{006b}\x{212a} /\x{212a}+/8i \x{004b}\x{006b}\x{212a} /\x{0053}+/8i \x{0053}\x{0073}\x{017f} /\x{0073}+/8i \x{0053}\x{0073}\x{017f} /\x{017f}+/8i \x{0053}\x{0073}\x{017f} /^\p{Any}*\d{4}/8 1234 123 /^\X*\w{4}/8 1234 123 /^A\s+Z/8W A\x{2005}Z A\x{85}\x{180e}\x{2005}Z /^A[\s]+Z/8W A\x{2005}Z A\x{85}\x{180e}\x{2005}Z /^[[:graph:]]+$/8W Letter:ABC Mark:\x{300}\x{1d172}\x{1d17b} Number:9\x{660} Punctuation:\x{66a},; Symbol:\x{6de}<>\x{fffc} Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} \x{feff} \x{fff9}\x{fffa}\x{fffb} \x{110bd} \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} \x{e0001} \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} ** Failers \x{09} \x{0a} \x{1D} \x{20} \x{85} \x{a0} \x{61c} \x{1680} \x{180e} \x{2028} \x{2029} \x{202f} \x{2065} \x{2066} \x{2067} \x{2068} \x{2069} \x{3000} \x{e0002} \x{e001f} \x{e0080} /^[[:print:]]+$/8W Space: \x{a0} \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} \x{202f}\x{205f} \x{3000} Letter:ABC Mark:\x{300}\x{1d172}\x{1d17b} Number:9\x{660} Punctuation:\x{66a},; Symbol:\x{6de}<>\x{fffc} Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} \x{180e} \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} \x{202f} \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} \x{feff} \x{fff9}\x{fffa}\x{fffb} \x{110bd} \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} \x{e0001} \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} ** Failers \x{09} \x{1D} \x{85} \x{61c} \x{2028} \x{2029} \x{2065} \x{2066} \x{2067} \x{2068} \x{2069} \x{e0002} \x{e001f} \x{e0080} /^[[:punct:]]+$/8W \$+<=>^`|~ !\"#%&'()*,-./:;?@[\\]_{} \x{a1}\x{a7} \x{37e} ** Failers abcde /^[[:^graph:]]+$/8W \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{61c}\x{1680}\x{180e} \x{2028}\x{2029}\x{202f}\x{2065}\x{2066}\x{2067}\x{2068}\x{2069} \x{3000}\x{e0002}\x{e001f}\x{e0080} ** Failers Letter:ABC Mark:\x{300}\x{1d172}\x{1d17b} Number:9\x{660} Punctuation:\x{66a},; Symbol:\x{6de}<>\x{fffc} Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} \x{feff} \x{fff9}\x{fffa}\x{fffb} \x{110bd} \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} \x{e0001} \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} /^[[:^print:]]+$/8W \x{09}\x{1D}\x{85}\x{61c}\x{2028}\x{2029}\x{2065}\x{2066}\x{2067} \x{2068}\x{2069}\x{e0002}\x{e001f}\x{e0080} ** Failers Space: \x{a0} \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005} \x{2006}\x{2007}\x{2008}\x{2009}\x{200a} \x{202f}\x{205f} \x{3000} Letter:ABC Mark:\x{300}\x{1d172}\x{1d17b} Number:9\x{660} Punctuation:\x{66a},; Symbol:\x{6de}<>\x{fffc} Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f} \x{180e} \x{200b}\x{200c}\x{200d}\x{200e}\x{200f} \x{202a}\x{202b}\x{202c}\x{202d}\x{202e} \x{202f} \x{2060}\x{2061}\x{2062}\x{2063}\x{2064} \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f} \x{feff} \x{fff9}\x{fffa}\x{fffb} \x{110bd} \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a} \x{e0001} \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f} /^[[:^punct:]]+$/8W abcde ** Failers \$+<=>^`|~ !\"#%&'()*,-./:;?@[\\]_{} \x{a1}\x{a7} \x{37e} /[RST]+/8iW Ss\x{17f} /[R-T]+/8iW Ss\x{17f} /[q-u]+/8iW Ss\x{17f} /-- End of testinput6 --/