1 /-- This set of tests is for Unicode property support. It is compatible with
4 < forbid 9?=ABCDEFfGILMNPTUXZ<
6 /^\pC\pL\pM\pN\pP\pS\pZ</8
7 \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
122 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
123 \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
124 \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
234 \x{660}\x{661}\x{662}ABC
237 \x{660}\x{661}\x{662}ABC
240 \x{660}\x{661}\x{662}ABC
243 \x{660}\x{661}\x{662}ABC
246 \x{660}\x{661}\x{662}ABC
249 \x{660}\x{661}\x{662}ABC
252 \x{660}\x{661}\x{662}ABC
255 \x{660}\x{661}\x{662}ABC
258 \x{660}\x{661}\x{662}ABC
261 \x{660}\x{661}\x{662}ABC
264 \x{660}\x{661}\x{662}ABC
267 \x{660}\x{661}\x{662}ABC
270 \x{660}\x{661}\x{662}ABC
274 \x{660}\x{661}\x{662}ABC
297 11111111111111111111111111111111111111111111111111111111111111111111111
298 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
301 11111111111111111111111111111111111111111111111111111111111111111111111
302 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
305 11111111111111111111111111111111111111111111111111111111111111111111111
306 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
309 11111111111111111111111111111111111111111111111111111111111111111111111
310 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
313 11111111111111111111111111111111111111111111111111111111111111111111111
314 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
336 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8
337 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
339 a\x{391}\x{10427}\x{ff3a}\x{1fb0}
340 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
341 A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
342 A\x{391}\x{10427}\x{ff5a}\x{1fb0}
343 A\x{391}\x{10427}\x{ff3a}\x{1fb8}
345 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8i
346 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
347 a\x{391}\x{10427}\x{ff3a}\x{1fb0}
348 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
349 A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
350 A\x{391}\x{10427}\x{ff5a}\x{1fb0}
351 A\x{391}\x{10427}\x{ff3a}\x{1fb8}
354 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
357 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
360 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
362 /[\x{391}\x{ff3a}]/8i
374 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
375 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
378 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
379 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
382 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
383 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
386 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
387 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
391 A\x{300}\x{301}\x{302}
394 A\x{300}\x{301}B\x{300}X
395 A\x{300}\x{301}B\x{300}C\x{300}\x{301}
396 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
397 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
400 A\x{300}\x{301}B\x{300}X
401 A\x{300}\x{301}B\x{300}C\x{300}\x{301}
402 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
403 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
408 A\x{300}\x{301}\x{302}BC
412 \x{2e81}\x{3007}\x{2f804}\x{31a0}
540 \x{1234}\n\r\x{3456}xyz
544 \x{1234}\n\r\x{3456}xyz
549 \x{1234}\n\r\x{3456}xyz
629 /^(\p{Z}[^\p{C}\p{Z}]+)*$/
638 /^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}/8
639 \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900}
641 /Check property support in non-UTF-8 mode/
721 /\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/8
722 \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
745 /The next two tests are for property support in non-UTF-8 mode/
748 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59
751 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59
753 /\p{Avestan}\p{Bamum}\p{Egyptian_Hieroglyphs}\p{Imperial_Aramaic}\p{Inscriptional_Pahlavi}\p{Inscriptional_Parthian}\p{Javanese}\p{Kaithi}\p{Lisu}\p{Meetei_Mayek}\p{Old_South_Arabian}\p{Old_Turkic}\p{Samaritan}\p{Tai_Tham}\p{Tai_Viet}/8
754 \x{10b00}\x{a6ef}\x{13007}\x{10857}\x{10b78}\x{10b58}\x{a980}\x{110c1}\x{a4ff}\x{abc0}\x{10a7d}\x{10c48}\x{0800}\x{1aad}\x{aac0}
757 Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
760 1a\x{660}\x{bef}\x{16ee}
763 1\x{660}\x{bef}\x{16ee}
766 1\x{660}\x{bef}\x{16ee}
769 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
772 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
775 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
778 >\x{20}\x{a0}\x{1680}\x{180e}\x{2000}\x{202f}\x{9}\x{b}\x{2028}
781 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}
784 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
787 \x{0}\x{09}\x{1f}\x{7f}\x{9f}
820 /-- These are tests for extended grapheme clusters --/
829 *These match up to the roman letters
831 \x{1111}\x{1111}\x{1169}L,L,V
832 \x{1111}\x{ae4c}L, LV
833 \x{1111}\x{ad89}L, LVT
834 \x{1111}\x{ae4c}\x{1169}L, LV, V
835 \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V
836 \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T
837 \x{1111}\x{ad89}\x{11fe}L, LVT, T
838 \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T
839 \x{ad89}\x{11fe}\x{11fe}LVT, T, T
840 *These match just the first codepoint (invalid sequence)
842 \x{ae4c}\x{1111}LV, L
843 \x{ae4c}\x{ae4c}LV, LV
844 \x{ae4c}\x{ad89}LV, LVT
846 \x{1169}\x{ae4c}V, LV
847 \x{1169}\x{ad89}V, LVT
848 \x{ad89}\x{1111}LVT, L
849 \x{ad89}\x{1169}LVT, V
850 \x{ad89}\x{ae4c}LVT, LV
851 \x{ad89}\x{ad89}LVT, LVT
854 \x{11fe}\x{ae4c}T, LV
855 \x{11fe}\x{ad89}T, LVT
856 *Test extend and spacing mark
857 \x{1111}\x{ae4c}\x{0711}L, LV, extend
858 \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark
859 \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark
860 *Test CR, LF, and control
861 \x0d\x{0711}CR, extend
862 \x0d\x{1b04}CR, spacingmark
863 \x0a\x{0711}LF, extend
864 \x0a\x{1b04}LF, spacingmark
865 \x0b\x{0711}Control, extend
866 \x09\x{1b04}Control, spacingmark
867 *There are no Prepend characters, so we can't test Prepend, CR
870 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
873 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
874 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
875 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
878 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
879 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
880 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
886 A\x{1111}\x{ae4c}\x{1169}
889 \xff\x7f\x00\x00\x03\x00\x41\xcc\x80\x41\x{300}\x61\x62\x63\x00\>06\?
911 /-- Characters with more than one other case; test in classes --/
914 \x{00b5}\x{039c}\x{03bc}
917 \x{00b5}\x{039c}\x{03bc}
920 \x{00b5}\x{039c}\x{03bc}
923 \x{00c5}\x{00e5}\x{212b}
926 \x{00c5}\x{00e5}\x{212b}
929 \x{00c5}\x{00e5}\x{212b}
932 \x{01c4}\x{01c5}\x{01c6}
935 \x{01c4}\x{01c5}\x{01c6}
938 \x{01c4}\x{01c5}\x{01c6}
941 \x{01c7}\x{01c8}\x{01c9}
944 \x{01c7}\x{01c8}\x{01c9}
947 \x{01c7}\x{01c8}\x{01c9}
950 \x{01ca}\x{01cb}\x{01cc}
953 \x{01ca}\x{01cb}\x{01cc}
956 \x{01ca}\x{01cb}\x{01cc}
959 \x{01f1}\x{01f2}\x{01f3}
962 \x{01f1}\x{01f2}\x{01f3}
965 \x{01f1}\x{01f2}\x{01f3}
968 \x{0345}\x{0399}\x{03b9}\x{1fbe}
971 \x{0345}\x{0399}\x{03b9}\x{1fbe}
974 \x{0345}\x{0399}\x{03b9}\x{1fbe}
977 \x{0345}\x{0399}\x{03b9}\x{1fbe}
980 \x{0392}\x{03b2}\x{03d0}
983 \x{0392}\x{03b2}\x{03d0}
986 \x{0392}\x{03b2}\x{03d0}
989 \x{0395}\x{03b5}\x{03f5}
992 \x{0395}\x{03b5}\x{03f5}
995 \x{0395}\x{03b5}\x{03f5}
998 \x{0398}\x{03b8}\x{03d1}\x{03f4}
1001 \x{0398}\x{03b8}\x{03d1}\x{03f4}
1004 \x{0398}\x{03b8}\x{03d1}\x{03f4}
1007 \x{0398}\x{03b8}\x{03d1}\x{03f4}
1010 \x{039a}\x{03ba}\x{03f0}
1013 \x{039a}\x{03ba}\x{03f0}
1016 \x{039a}\x{03ba}\x{03f0}
1019 \x{03a0}\x{03c0}\x{03d6}
1022 \x{03a0}\x{03c0}\x{03d6}
1025 \x{03a0}\x{03c0}\x{03d6}
1028 \x{03a1}\x{03c1}\x{03f1}
1031 \x{03a1}\x{03c1}\x{03f1}
1034 \x{03a1}\x{03c1}\x{03f1}
1037 \x{03A3}\x{03C2}\x{03C3}
1040 \x{03A3}\x{03C2}\x{03C3}
1043 \x{03A3}\x{03C2}\x{03C3}
1046 \x{03a6}\x{03c6}\x{03d5}
1049 \x{03a6}\x{03c6}\x{03d5}
1052 \x{03a6}\x{03c6}\x{03d5}
1055 \x{03c9}\x{03a9}\x{2126}
1058 \x{03c9}\x{03a9}\x{2126}
1061 \x{03c9}\x{03a9}\x{2126}
1064 \x{1e60}\x{1e61}\x{1e9b}
1067 \x{1e60}\x{1e61}\x{1e9b}
1070 \x{1e60}\x{1e61}\x{1e9b}
1072 /-- Perl 5.12.4 gets these wrong, but 5.15.3 is OK --/
1075 \x{004b}\x{006b}\x{212a}
1078 \x{004b}\x{006b}\x{212a}
1081 \x{004b}\x{006b}\x{212a}
1084 \x{0053}\x{0073}\x{017f}
1087 \x{0053}\x{0073}\x{017f}
1090 \x{0053}\x{0073}\x{017f}
1110 ΣΆΜΟΣ ΣΆΜΟΣσάμοςσάμος
1112 /-- Perl matches these --/
1115 \x{00b5}\x{039c}\x{03bc}
1118 \x{00b5}\x{039c}\x{03bc}
1121 \x{00b5}\x{039c}\x{03bc}
1125 \x{00c5}\x{00e5}\x{212b}
1128 \x{00c5}\x{00e5}\x{212b}
1131 \x{00c5}\x{00e5}\x{212b}
1135 \x{01c4}\x{01c5}\x{01c6}
1138 \x{01c4}\x{01c5}\x{01c6}
1141 \x{01c4}\x{01c5}\x{01c6}
1145 \x{01c7}\x{01c8}\x{01c9}
1148 \x{01c7}\x{01c8}\x{01c9}
1151 \x{01c7}\x{01c8}\x{01c9}
1155 \x{01ca}\x{01cb}\x{01cc}
1158 \x{01ca}\x{01cb}\x{01cc}
1161 \x{01ca}\x{01cb}\x{01cc}
1165 \x{01f1}\x{01f2}\x{01f3}
1168 \x{01f1}\x{01f2}\x{01f3}
1171 \x{01f1}\x{01f2}\x{01f3}
1175 \x{0345}\x{0399}\x{03b9}\x{1fbe}
1178 \x{0345}\x{0399}\x{03b9}\x{1fbe}
1181 \x{0345}\x{0399}\x{03b9}\x{1fbe}
1184 \x{0345}\x{0399}\x{03b9}\x{1fbe}
1188 \x{0392}\x{03b2}\x{03d0}
1191 \x{0392}\x{03b2}\x{03d0}
1194 \x{0392}\x{03b2}\x{03d0}
1198 \x{0395}\x{03b5}\x{03f5}
1201 \x{0395}\x{03b5}\x{03f5}
1204 \x{0395}\x{03b5}\x{03f5}
1208 \x{0398}\x{03b8}\x{03d1}\x{03f4}
1211 \x{0398}\x{03b8}\x{03d1}\x{03f4}
1214 \x{0398}\x{03b8}\x{03d1}\x{03f4}
1217 \x{0398}\x{03b8}\x{03d1}\x{03f4}
1221 \x{039a}\x{03ba}\x{03f0}
1224 \x{039a}\x{03ba}\x{03f0}
1227 \x{039a}\x{03ba}\x{03f0}
1231 \x{03a0}\x{03c0}\x{03d6}
1234 \x{03a0}\x{03c0}\x{03d6}
1237 \x{03a0}\x{03c0}\x{03d6}
1241 \x{03a1}\x{03c1}\x{03f1}
1244 \x{03a1}\x{03c1}\x{03f1}
1247 \x{03a1}\x{03c1}\x{03f1}
1251 \x{03A3}\x{03C2}\x{03C3}
1254 \x{03A3}\x{03C2}\x{03C3}
1257 \x{03A3}\x{03C2}\x{03C3}
1261 \x{03a6}\x{03c6}\x{03d5}
1264 \x{03a6}\x{03c6}\x{03d5}
1267 \x{03a6}\x{03c6}\x{03d5}
1271 \x{03c9}\x{03a9}\x{2126}
1274 \x{03c9}\x{03a9}\x{2126}
1277 \x{03c9}\x{03a9}\x{2126}
1281 \x{1e60}\x{1e61}\x{1e9b}
1284 \x{1e60}\x{1e61}\x{1e9b}
1287 \x{1e60}\x{1e61}\x{1e9b}
1304 /-- Perl 5.12.4 gets these wrong, but 5.15.3 is OK --/
1307 \x{004b}\x{006b}\x{212a}
1310 \x{004b}\x{006b}\x{212a}
1313 \x{004b}\x{006b}\x{212a}
1317 \x{0053}\x{0073}\x{017f}
1320 \x{0053}\x{0073}\x{017f}
1323 \x{0053}\x{0073}\x{017f}
1335 A\x{85}\x{180e}\x{2005}Z
1339 A\x{85}\x{180e}\x{2005}Z
1343 Mark:\x{300}\x{1d172}\x{1d17b}
1345 Punctuation:\x{66a},;
1346 Symbol:\x{6de}<>\x{fffc}
1347 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
1348 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
1349 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
1350 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
1351 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
1353 \x{fff9}\x{fffa}\x{fffb}
1355 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
1357 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
1383 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005}
1384 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a}
1388 Mark:\x{300}\x{1d172}\x{1d17b}
1390 Punctuation:\x{66a},;
1391 Symbol:\x{6de}<>\x{fffc}
1392 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
1394 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
1395 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
1397 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
1398 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
1400 \x{fff9}\x{fffa}\x{fffb}
1402 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
1404 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
1423 !\"#%&'()*,-./:;?@[\\]_{}
1430 \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{61c}\x{1680}\x{180e}
1431 \x{2028}\x{2029}\x{202f}\x{2065}\x{2066}\x{2067}\x{2068}\x{2069}
1432 \x{3000}\x{e0002}\x{e001f}\x{e0080}
1435 Mark:\x{300}\x{1d172}\x{1d17b}
1437 Punctuation:\x{66a},;
1438 Symbol:\x{6de}<>\x{fffc}
1439 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
1440 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
1441 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
1442 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
1443 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
1445 \x{fff9}\x{fffa}\x{fffb}
1447 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
1449 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
1452 \x{09}\x{1D}\x{85}\x{61c}\x{2028}\x{2029}\x{2065}\x{2066}\x{2067}
1453 \x{2068}\x{2069}\x{e0002}\x{e001f}\x{e0080}
1456 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005}
1457 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a}
1461 Mark:\x{300}\x{1d172}\x{1d17b}
1463 Punctuation:\x{66a},;
1464 Symbol:\x{6de}<>\x{fffc}
1465 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
1467 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
1468 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
1470 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
1471 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
1473 \x{fff9}\x{fffa}\x{fffb}
1475 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
1477 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
1483 !\"#%&'()*,-./:;?@[\\]_{}
1565 /-- End of testinput6 --/