diff options
Diffstat (limited to 'cpan/Unicode-Collate/t')
-rw-r--r-- | cpan/Unicode-Collate/t/loc_vi.t | 117 | ||||
-rw-r--r-- | cpan/Unicode-Collate/t/loc_zh.t | 307 | ||||
-rw-r--r-- | cpan/Unicode-Collate/t/loc_zhb5.t | 335 | ||||
-rw-r--r-- | cpan/Unicode-Collate/t/loc_zhgb.t | 333 | ||||
-rw-r--r-- | cpan/Unicode-Collate/t/loc_zhpy.t | 344 | ||||
-rw-r--r-- | cpan/Unicode-Collate/t/loc_zhst.t | 333 |
6 files changed, 1754 insertions, 15 deletions
diff --git a/cpan/Unicode-Collate/t/loc_vi.t b/cpan/Unicode-Collate/t/loc_vi.t index 92b58a2758..75bb5ba083 100644 --- a/cpan/Unicode-Collate/t/loc_vi.t +++ b/cpan/Unicode-Collate/t/loc_vi.t @@ -4,7 +4,7 @@ use warnings; use Unicode::Collate::Locale; use Test; -plan tests => 340; +plan tests => 424; my $objVi = Unicode::Collate::Locale-> new(locale => 'VI', normalization => undef); @@ -102,6 +102,17 @@ ok($objVi->eq("U\x{31B}", "\x{1AF}")); # 66 +ok($objVi->eq("e\x{306}", "\x{115}")); +ok($objVi->eq("E\x{306}", "\x{114}")); +ok($objVi->eq("i\x{306}", "\x{12D}")); +ok($objVi->eq("I\x{306}", "\x{12C}")); +ok($objVi->eq("o\x{306}", "\x{14F}")); +ok($objVi->eq("O\x{306}", "\x{14E}")); +ok($objVi->eq("u\x{306}", "\x{16D}")); +ok($objVi->eq("U\x{306}", "\x{16C}")); + +# 74 + ok($objVi->eq("a\x{300}", pack('U', 0xE0))); ok($objVi->eq("a\x{340}", pack('U', 0xE0))); ok($objVi->eq("a\x{309}", "\x{1EA3}")); @@ -271,17 +282,6 @@ ok($objVi->eq("Y\x{301}", pack('U', 0xDD))); ok($objVi->eq("Y\x{341}", pack('U', 0xDD))); ok($objVi->eq("Y\x{323}", "\x{1EF4}")); -# 234 - -ok($objVi->eq("e\x{306}", "\x{115}")); -ok($objVi->eq("E\x{306}", "\x{114}")); -ok($objVi->eq("i\x{306}", "\x{12D}")); -ok($objVi->eq("I\x{306}", "\x{12C}")); -ok($objVi->eq("o\x{306}", "\x{14F}")); -ok($objVi->eq("O\x{306}", "\x{14E}")); -ok($objVi->eq("u\x{306}", "\x{16D}")); -ok($objVi->eq("U\x{306}", "\x{16C}")); - # 242 ok($objVi->eq("a\x{306}\x{323}", "\x{1EA1}\x{306}")); @@ -362,6 +362,93 @@ ok($objVi->eq("U\x{31B}\x{323}", "U\x{323}\x{31B}")); # 314 +ok($objVi->eq("a\x{306}\x{300}", "\x{103}\x{300}")); +ok($objVi->eq("a\x{306}\x{340}", "\x{103}\x{340}")); +ok($objVi->eq("a\x{306}\x{309}", "\x{103}\x{309}")); +ok($objVi->eq("a\x{306}\x{303}", "\x{103}\x{303}")); +ok($objVi->eq("a\x{306}\x{301}", "\x{103}\x{301}")); +ok($objVi->eq("a\x{306}\x{341}", "\x{103}\x{341}")); +ok($objVi->eq("a\x{306}\x{323}", "\x{103}\x{323}")); +ok($objVi->eq("A\x{306}\x{300}", "\x{102}\x{300}")); +ok($objVi->eq("A\x{306}\x{340}", "\x{102}\x{340}")); +ok($objVi->eq("A\x{306}\x{309}", "\x{102}\x{309}")); +ok($objVi->eq("A\x{306}\x{303}", "\x{102}\x{303}")); +ok($objVi->eq("A\x{306}\x{301}", "\x{102}\x{301}")); +ok($objVi->eq("A\x{306}\x{341}", "\x{102}\x{341}")); +ok($objVi->eq("A\x{306}\x{323}", "\x{102}\x{323}")); +ok($objVi->eq("a\x{302}\x{300}", pack('U*', 0xE2, 0x300))); +ok($objVi->eq("a\x{302}\x{340}", pack('U*', 0xE2, 0x340))); +ok($objVi->eq("a\x{302}\x{309}", pack('U*', 0xE2, 0x309))); +ok($objVi->eq("a\x{302}\x{303}", pack('U*', 0xE2, 0x303))); +ok($objVi->eq("a\x{302}\x{301}", pack('U*', 0xE2, 0x301))); +ok($objVi->eq("a\x{302}\x{341}", pack('U*', 0xE2, 0x341))); +ok($objVi->eq("a\x{302}\x{323}", pack('U*', 0xE2, 0x323))); +ok($objVi->eq("A\x{302}\x{300}", pack('U*', 0xC2, 0x300))); +ok($objVi->eq("A\x{302}\x{340}", pack('U*', 0xC2, 0x340))); +ok($objVi->eq("A\x{302}\x{309}", pack('U*', 0xC2, 0x309))); +ok($objVi->eq("A\x{302}\x{303}", pack('U*', 0xC2, 0x303))); +ok($objVi->eq("A\x{302}\x{301}", pack('U*', 0xC2, 0x301))); +ok($objVi->eq("A\x{302}\x{341}", pack('U*', 0xC2, 0x341))); +ok($objVi->eq("A\x{302}\x{323}", pack('U*', 0xC2, 0x323))); +ok($objVi->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300))); +ok($objVi->eq("e\x{302}\x{340}", pack('U*', 0xEA, 0x340))); +ok($objVi->eq("e\x{302}\x{309}", pack('U*', 0xEA, 0x309))); +ok($objVi->eq("e\x{302}\x{303}", pack('U*', 0xEA, 0x303))); +ok($objVi->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301))); +ok($objVi->eq("e\x{302}\x{341}", pack('U*', 0xEA, 0x341))); +ok($objVi->eq("e\x{302}\x{323}", pack('U*', 0xEA, 0x323))); +ok($objVi->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x300))); +ok($objVi->eq("E\x{302}\x{340}", pack('U*', 0xCA, 0x340))); +ok($objVi->eq("E\x{302}\x{309}", pack('U*', 0xCA, 0x309))); +ok($objVi->eq("E\x{302}\x{303}", pack('U*', 0xCA, 0x303))); +ok($objVi->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x301))); +ok($objVi->eq("E\x{302}\x{341}", pack('U*', 0xCA, 0x341))); +ok($objVi->eq("E\x{302}\x{323}", pack('U*', 0xCA, 0x323))); +ok($objVi->eq("o\x{302}\x{300}", pack('U*', 0xF4, 0x300))); +ok($objVi->eq("o\x{302}\x{340}", pack('U*', 0xF4, 0x340))); +ok($objVi->eq("o\x{302}\x{309}", pack('U*', 0xF4, 0x309))); +ok($objVi->eq("o\x{302}\x{303}", pack('U*', 0xF4, 0x303))); +ok($objVi->eq("o\x{302}\x{301}", pack('U*', 0xF4, 0x301))); +ok($objVi->eq("o\x{302}\x{341}", pack('U*', 0xF4, 0x341))); +ok($objVi->eq("o\x{302}\x{323}", pack('U*', 0xF4, 0x323))); +ok($objVi->eq("O\x{302}\x{300}", pack('U*', 0xD4, 0x300))); +ok($objVi->eq("O\x{302}\x{340}", pack('U*', 0xD4, 0x340))); +ok($objVi->eq("O\x{302}\x{309}", pack('U*', 0xD4, 0x309))); +ok($objVi->eq("O\x{302}\x{303}", pack('U*', 0xD4, 0x303))); +ok($objVi->eq("O\x{302}\x{301}", pack('U*', 0xD4, 0x301))); +ok($objVi->eq("O\x{302}\x{341}", pack('U*', 0xD4, 0x341))); +ok($objVi->eq("O\x{302}\x{323}", pack('U*', 0xD4, 0x323))); +ok($objVi->eq("o\x{31B}\x{300}", "\x{1A1}\x{300}")); +ok($objVi->eq("o\x{31B}\x{340}", "\x{1A1}\x{340}")); +ok($objVi->eq("o\x{31B}\x{309}", "\x{1A1}\x{309}")); +ok($objVi->eq("o\x{31B}\x{303}", "\x{1A1}\x{303}")); +ok($objVi->eq("o\x{31B}\x{301}", "\x{1A1}\x{301}")); +ok($objVi->eq("o\x{31B}\x{341}", "\x{1A1}\x{341}")); +ok($objVi->eq("o\x{31B}\x{323}", "\x{1A1}\x{323}")); +ok($objVi->eq("O\x{31B}\x{300}", "\x{1A0}\x{300}")); +ok($objVi->eq("O\x{31B}\x{340}", "\x{1A0}\x{340}")); +ok($objVi->eq("O\x{31B}\x{309}", "\x{1A0}\x{309}")); +ok($objVi->eq("O\x{31B}\x{303}", "\x{1A0}\x{303}")); +ok($objVi->eq("O\x{31B}\x{301}", "\x{1A0}\x{301}")); +ok($objVi->eq("O\x{31B}\x{341}", "\x{1A0}\x{341}")); +ok($objVi->eq("O\x{31B}\x{323}", "\x{1A0}\x{323}")); +ok($objVi->eq("u\x{31B}\x{300}", "\x{1B0}\x{300}")); +ok($objVi->eq("u\x{31B}\x{340}", "\x{1B0}\x{340}")); +ok($objVi->eq("u\x{31B}\x{309}", "\x{1B0}\x{309}")); +ok($objVi->eq("u\x{31B}\x{303}", "\x{1B0}\x{303}")); +ok($objVi->eq("u\x{31B}\x{301}", "\x{1B0}\x{301}")); +ok($objVi->eq("u\x{31B}\x{341}", "\x{1B0}\x{341}")); +ok($objVi->eq("u\x{31B}\x{323}", "\x{1B0}\x{323}")); +ok($objVi->eq("U\x{31B}\x{300}", "\x{1AF}\x{300}")); +ok($objVi->eq("U\x{31B}\x{340}", "\x{1AF}\x{340}")); +ok($objVi->eq("U\x{31B}\x{309}", "\x{1AF}\x{309}")); +ok($objVi->eq("U\x{31B}\x{303}", "\x{1AF}\x{303}")); +ok($objVi->eq("U\x{31B}\x{301}", "\x{1AF}\x{301}")); +ok($objVi->eq("U\x{31B}\x{341}", "\x{1AF}\x{341}")); +ok($objVi->eq("U\x{31B}\x{323}", "\x{1AF}\x{323}")); + +# 398 + $objVi->change(normalization => undef); ok($objVi->index("a\x{306}\x{323}", "a\x{323}\x{306}"), 0); @@ -377,7 +464,7 @@ ok($objVi->index("O\x{31B}\x{300}", "o\x{300}\x{31B}"), -1); ok($objVi->index("A\x{306}\x{323}", pack('U*', 0x1EA1, 0x306)), -1); ok($objVi->index("O\x{31B}\x{300}", pack('U*', 0x00F2, 0x31B)), -1); -# 325 +# 409 $objVi->change(level => 2); @@ -394,7 +481,7 @@ ok($objVi->index("O\x{31B}", "o\x{300}\x{31B}"), -1); ok($objVi->index("A\x{306}", pack('U*', 0x1EA1, 0x306)), -1); ok($objVi->index("O\x{31B}", pack('U*', 0x00F2, 0x31B)), -1); -# 336 +# 420 $objVi->change(level => 1); @@ -403,4 +490,4 @@ ok($objVi->index("O\x{31B}", "o\x{300}\x{31B}"), 0); ok($objVi->index("A\x{306}", pack('U*', 0x1EA1, 0x306)), 0); ok($objVi->index("O\x{31B}", pack('U*', 0x00F2, 0x31B)), 0); -# 340 +# 424 diff --git a/cpan/Unicode-Collate/t/loc_zh.t b/cpan/Unicode-Collate/t/loc_zh.t new file mode 100644 index 0000000000..d91431c38e --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_zh.t @@ -0,0 +1,307 @@ +#!perl +use strict; +use warnings; +use Unicode::Collate::Locale; + +use Test; +plan tests => 272; + +my $objZh = Unicode::Collate::Locale-> + new(locale => 'ZH', normalization => undef); + +ok(1); +ok($objZh->getlocale, 'zh'); + +$objZh->change(level => 1); + +ok($objZh->eq("a\x{304}", "a\x{301}")); +ok($objZh->eq("a\x{301}", "a\x{30C}")); +ok($objZh->eq("a\x{30C}", "a\x{300}")); +ok($objZh->eq("a\x{300}", "a")); +ok($objZh->eq("e\x{304}", "e\x{301}")); +ok($objZh->eq("e\x{301}", "e\x{30C}")); +ok($objZh->eq("e\x{30C}", "e\x{300}")); +ok($objZh->eq("e\x{300}", "e")); +ok($objZh->eq("e\x{302}\x{304}", "e\x{302}\x{301}")); +ok($objZh->eq("e\x{302}\x{301}", "e\x{302}\x{30C}")); +ok($objZh->eq("e\x{302}\x{30C}", "e\x{302}\x{300}")); +ok($objZh->eq("e\x{302}\x{300}", "e\x{302}")); +ok($objZh->eq("i\x{304}", "i\x{301}")); +ok($objZh->eq("i\x{301}", "i\x{30C}")); +ok($objZh->eq("i\x{30C}", "i\x{300}")); +ok($objZh->eq("i\x{300}", "i")); +ok($objZh->eq("m\x{304}", "m\x{301}")); +ok($objZh->eq("m\x{301}", "m\x{30C}")); +ok($objZh->eq("m\x{30C}", "m\x{300}")); +ok($objZh->eq("m\x{300}", "m")); +ok($objZh->eq("n\x{304}", "n\x{301}")); +ok($objZh->eq("n\x{301}", "n\x{30C}")); +ok($objZh->eq("n\x{30C}", "n\x{300}")); +ok($objZh->eq("n\x{300}", "n")); +ok($objZh->eq("o\x{304}", "o\x{301}")); +ok($objZh->eq("o\x{301}", "o\x{30C}")); +ok($objZh->eq("o\x{30C}", "o\x{300}")); +ok($objZh->eq("o\x{300}", "o")); +ok($objZh->eq("u\x{304}", "u\x{301}")); +ok($objZh->eq("u\x{301}", "u\x{30C}")); +ok($objZh->eq("u\x{30C}", "u\x{300}")); +ok($objZh->eq("u\x{300}", "u")); +ok($objZh->eq("u\x{308}\x{304}", "u\x{308}\x{301}")); +ok($objZh->eq("u\x{308}\x{301}", "u\x{308}\x{30C}")); +ok($objZh->eq("u\x{308}\x{30C}", "u\x{308}\x{300}")); +ok($objZh->eq("u\x{308}\x{300}", "u\x{308}")); + +# 38 + +$objZh->change(level => 2); + +ok($objZh->lt("a\x{304}", "a\x{301}")); +ok($objZh->lt("a\x{301}", "a\x{30C}")); +ok($objZh->lt("a\x{30C}", "a\x{300}")); +ok($objZh->lt("a\x{300}", "a")); +ok($objZh->lt("e\x{304}", "e\x{301}")); +ok($objZh->lt("e\x{301}", "e\x{30C}")); +ok($objZh->lt("e\x{30C}", "e\x{300}")); +ok($objZh->lt("e\x{300}", "e")); +ok($objZh->lt("e\x{302}\x{304}", "e\x{302}\x{301}")); +ok($objZh->lt("e\x{302}\x{301}", "e\x{302}\x{30C}")); +ok($objZh->lt("e\x{302}\x{30C}", "e\x{302}\x{300}")); +ok($objZh->lt("e\x{302}\x{300}", "e\x{302}")); +ok($objZh->lt("i\x{304}", "i\x{301}")); +ok($objZh->lt("i\x{301}", "i\x{30C}")); +ok($objZh->lt("i\x{30C}", "i\x{300}")); +ok($objZh->lt("i\x{300}", "i")); +ok($objZh->lt("m\x{304}", "m\x{301}")); +ok($objZh->lt("m\x{301}", "m\x{30C}")); +ok($objZh->lt("m\x{30C}", "m\x{300}")); +ok($objZh->lt("m\x{300}", "m")); +ok($objZh->lt("n\x{304}", "n\x{301}")); +ok($objZh->lt("n\x{301}", "n\x{30C}")); +ok($objZh->lt("n\x{30C}", "n\x{300}")); +ok($objZh->lt("n\x{300}", "n")); +ok($objZh->lt("o\x{304}", "o\x{301}")); +ok($objZh->lt("o\x{301}", "o\x{30C}")); +ok($objZh->lt("o\x{30C}", "o\x{300}")); +ok($objZh->lt("o\x{300}", "o")); +ok($objZh->lt("u\x{304}", "u\x{301}")); +ok($objZh->lt("u\x{301}", "u\x{30C}")); +ok($objZh->lt("u\x{30C}", "u\x{300}")); +ok($objZh->lt("u\x{300}", "u")); +ok($objZh->lt("u\x{308}\x{304}", "u\x{308}\x{301}")); +ok($objZh->lt("u\x{308}\x{301}", "u\x{308}\x{30C}")); +ok($objZh->lt("u\x{308}\x{30C}", "u\x{308}\x{300}")); +ok($objZh->lt("u\x{308}\x{300}", "u\x{308}")); + +# 74 + +ok($objZh->eq("a\x{304}", "A\x{304}")); +ok($objZh->eq("a\x{301}", "A\x{301}")); +ok($objZh->eq("a\x{30C}", "A\x{30C}")); +ok($objZh->eq("a\x{300}", "A\x{300}")); +ok($objZh->eq("e\x{304}", "E\x{304}")); +ok($objZh->eq("e\x{301}", "E\x{301}")); +ok($objZh->eq("e\x{30C}", "E\x{30C}")); +ok($objZh->eq("e\x{300}", "E\x{300}")); +ok($objZh->eq("e\x{302}\x{304}", "E\x{302}\x{304}")); +ok($objZh->eq("e\x{302}\x{301}", "E\x{302}\x{301}")); +ok($objZh->eq("e\x{302}\x{30C}", "E\x{302}\x{30C}")); +ok($objZh->eq("e\x{302}\x{300}", "E\x{302}\x{300}")); +ok($objZh->eq("e\x{302}", "E\x{302}")); +ok($objZh->eq("i\x{304}", "I\x{304}")); +ok($objZh->eq("i\x{301}", "I\x{301}")); +ok($objZh->eq("i\x{30C}", "I\x{30C}")); +ok($objZh->eq("i\x{300}", "I\x{300}")); +ok($objZh->eq("m\x{304}", "M\x{304}")); +ok($objZh->eq("m\x{301}", "M\x{301}")); +ok($objZh->eq("m\x{30C}", "M\x{30C}")); +ok($objZh->eq("m\x{300}", "M\x{300}")); +ok($objZh->eq("n\x{304}", "N\x{304}")); +ok($objZh->eq("n\x{301}", "N\x{301}")); +ok($objZh->eq("n\x{30C}", "N\x{30C}")); +ok($objZh->eq("n\x{300}", "N\x{300}")); +ok($objZh->eq("o\x{304}", "O\x{304}")); +ok($objZh->eq("o\x{301}", "O\x{301}")); +ok($objZh->eq("o\x{30C}", "O\x{30C}")); +ok($objZh->eq("o\x{300}", "O\x{300}")); +ok($objZh->eq("u\x{304}", "U\x{304}")); +ok($objZh->eq("u\x{301}", "U\x{301}")); +ok($objZh->eq("u\x{30C}", "U\x{30C}")); +ok($objZh->eq("u\x{300}", "U\x{300}")); +ok($objZh->eq("u\x{308}\x{304}", "U\x{308}\x{304}")); +ok($objZh->eq("u\x{308}\x{301}", "U\x{308}\x{301}")); +ok($objZh->eq("u\x{308}\x{30C}", "U\x{308}\x{30C}")); +ok($objZh->eq("u\x{308}\x{300}", "U\x{308}\x{300}")); +ok($objZh->eq("u\x{308}", "U\x{308}")); + +# 112 + +$objZh->change(level => 3); + +ok($objZh->lt("a\x{304}", "A\x{304}")); +ok($objZh->lt("a\x{301}", "A\x{301}")); +ok($objZh->lt("a\x{30C}", "A\x{30C}")); +ok($objZh->lt("a\x{300}", "A\x{300}")); +ok($objZh->lt("e\x{304}", "E\x{304}")); +ok($objZh->lt("e\x{301}", "E\x{301}")); +ok($objZh->lt("e\x{30C}", "E\x{30C}")); +ok($objZh->lt("e\x{300}", "E\x{300}")); +ok($objZh->lt("e\x{302}\x{304}", "E\x{302}\x{304}")); +ok($objZh->lt("e\x{302}\x{301}", "E\x{302}\x{301}")); +ok($objZh->lt("e\x{302}\x{30C}", "E\x{302}\x{30C}")); +ok($objZh->lt("e\x{302}\x{300}", "E\x{302}\x{300}")); +ok($objZh->lt("e\x{302}", "E\x{302}")); +ok($objZh->lt("i\x{304}", "I\x{304}")); +ok($objZh->lt("i\x{301}", "I\x{301}")); +ok($objZh->lt("i\x{30C}", "I\x{30C}")); +ok($objZh->lt("i\x{300}", "I\x{300}")); +ok($objZh->lt("m\x{304}", "M\x{304}")); +ok($objZh->lt("m\x{301}", "M\x{301}")); +ok($objZh->lt("m\x{30C}", "M\x{30C}")); +ok($objZh->lt("m\x{300}", "M\x{300}")); +ok($objZh->lt("n\x{304}", "N\x{304}")); +ok($objZh->lt("n\x{301}", "N\x{301}")); +ok($objZh->lt("n\x{30C}", "N\x{30C}")); +ok($objZh->lt("n\x{300}", "N\x{300}")); +ok($objZh->lt("o\x{304}", "O\x{304}")); +ok($objZh->lt("o\x{301}", "O\x{301}")); +ok($objZh->lt("o\x{30C}", "O\x{30C}")); +ok($objZh->lt("o\x{300}", "O\x{300}")); +ok($objZh->lt("u\x{304}", "U\x{304}")); +ok($objZh->lt("u\x{301}", "U\x{301}")); +ok($objZh->lt("u\x{30C}", "U\x{30C}")); +ok($objZh->lt("u\x{300}", "U\x{300}")); +ok($objZh->lt("u\x{308}\x{304}", "U\x{308}\x{304}")); +ok($objZh->lt("u\x{308}\x{301}", "U\x{308}\x{301}")); +ok($objZh->lt("u\x{308}\x{30C}", "U\x{308}\x{30C}")); +ok($objZh->lt("u\x{308}\x{300}", "U\x{308}\x{300}")); +ok($objZh->lt("u\x{308}", "U\x{308}")); + +# 150 + +ok($objZh->eq("a\x{304}", "\x{101}")); +ok($objZh->eq("A\x{304}", "\x{100}")); +ok($objZh->eq("a\x{301}", pack('U', 0xE1))); +ok($objZh->eq("a\x{301}", "a\x{341}")); +ok($objZh->eq("A\x{301}", pack('U', 0xC1))); +ok($objZh->eq("A\x{301}", "A\x{341}")); +ok($objZh->eq("a\x{30C}", "\x{1CE}")); +ok($objZh->eq("A\x{30C}", "\x{1CD}")); +ok($objZh->eq("a\x{300}", pack('U', 0xE0))); +ok($objZh->eq("a\x{300}", "a\x{340}")); +ok($objZh->eq("A\x{300}", pack('U', 0xC0))); +ok($objZh->eq("A\x{300}", "A\x{340}")); +ok($objZh->eq("e\x{304}", "\x{113}")); +ok($objZh->eq("E\x{304}", "\x{112}")); +ok($objZh->eq("e\x{301}", pack('U', 0xE9))); +ok($objZh->eq("e\x{301}", "e\x{341}")); +ok($objZh->eq("E\x{301}", pack('U', 0xC9))); +ok($objZh->eq("E\x{301}", "E\x{341}")); +ok($objZh->eq("e\x{30C}", "\x{11B}")); +ok($objZh->eq("E\x{30C}", "\x{11A}")); +ok($objZh->eq("e\x{300}", pack('U', 0xE8))); +ok($objZh->eq("e\x{300}", "e\x{340}")); +ok($objZh->eq("E\x{300}", pack('U', 0xC8))); +ok($objZh->eq("E\x{300}", "E\x{340}")); +ok($objZh->eq("e\x{302}\x{304}", pack('U*', 0xEA, 0x304))); +ok($objZh->eq("E\x{302}\x{304}", pack('U*', 0xCA, 0x304))); +ok($objZh->eq("e\x{302}\x{301}", "\x{1EBF}")); +ok($objZh->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301))); +ok($objZh->eq("e\x{302}\x{301}", "e\x{302}\x{341}")); +ok($objZh->eq("E\x{302}\x{301}", "\x{1EBE}")); +ok($objZh->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x301))); +ok($objZh->eq("E\x{302}\x{301}", "E\x{302}\x{341}")); +ok($objZh->eq("e\x{302}\x{30C}", pack('U*', 0xEA, 0x30C))); +ok($objZh->eq("E\x{302}\x{30C}", pack('U*', 0xCA, 0x30C))); +ok($objZh->eq("e\x{302}\x{300}", "\x{1EC1}")); +ok($objZh->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300))); +ok($objZh->eq("e\x{302}\x{300}", "e\x{302}\x{340}")); +ok($objZh->eq("E\x{302}\x{300}", "\x{1EC0}")); +ok($objZh->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x300))); +ok($objZh->eq("E\x{302}\x{300}", "E\x{302}\x{340}")); +ok($objZh->eq("e\x{302}", pack('U', 0xEA))); +ok($objZh->eq("E\x{302}", pack('U', 0xCA))); +ok($objZh->eq("i\x{304}", "\x{12B}")); +ok($objZh->eq("I\x{304}", "\x{12A}")); +ok($objZh->eq("i\x{301}", pack('U', 0xED))); +ok($objZh->eq("i\x{301}", "i\x{341}")); +ok($objZh->eq("I\x{301}", pack('U', 0xCD))); +ok($objZh->eq("I\x{301}", "I\x{341}")); +ok($objZh->eq("i\x{30C}", "\x{1D0}")); +ok($objZh->eq("I\x{30C}", "\x{1CF}")); +ok($objZh->eq("i\x{300}", pack('U', 0xEC))); +ok($objZh->eq("i\x{300}", "i\x{340}")); +ok($objZh->eq("I\x{300}", pack('U', 0xCC))); +ok($objZh->eq("I\x{300}", "I\x{340}")); +ok($objZh->eq("m\x{301}", "\x{1E3F}")); +ok($objZh->eq("m\x{301}", "m\x{341}")); +ok($objZh->eq("M\x{301}", "\x{1E3E}")); +ok($objZh->eq("M\x{301}", "M\x{341}")); +ok($objZh->eq("m\x{300}", "m\x{340}")); +ok($objZh->eq("M\x{300}", "M\x{340}")); +ok($objZh->eq("n\x{301}", "\x{144}")); +ok($objZh->eq("n\x{301}", "n\x{341}")); +ok($objZh->eq("N\x{301}", "\x{143}")); +ok($objZh->eq("N\x{301}", "N\x{341}")); +ok($objZh->eq("n\x{30C}", "\x{148}")); +ok($objZh->eq("N\x{30C}", "\x{147}")); +ok($objZh->eq("n\x{300}", "\x{1F9}")); +ok($objZh->eq("n\x{300}", "n\x{340}")); +ok($objZh->eq("N\x{300}", "\x{1F8}")); +ok($objZh->eq("N\x{300}", "N\x{340}")); +ok($objZh->eq("o\x{304}", "\x{14D}")); +ok($objZh->eq("O\x{304}", "\x{14C}")); +ok($objZh->eq("o\x{301}", pack('U', 0xF3))); +ok($objZh->eq("o\x{301}", "o\x{341}")); +ok($objZh->eq("O\x{301}", pack('U', 0xD3))); +ok($objZh->eq("O\x{301}", "O\x{341}")); +ok($objZh->eq("o\x{30C}", "\x{1D2}")); +ok($objZh->eq("O\x{30C}", "\x{1D1}")); +ok($objZh->eq("o\x{300}", pack('U', 0xF2))); +ok($objZh->eq("o\x{300}", "o\x{340}")); +ok($objZh->eq("O\x{300}", pack('U', 0xD2))); +ok($objZh->eq("O\x{300}", "O\x{340}")); +ok($objZh->eq("u\x{304}", "\x{16B}")); +ok($objZh->eq("U\x{304}", "\x{16A}")); +ok($objZh->eq("u\x{301}", pack('U', 0xFA))); +ok($objZh->eq("u\x{301}", "u\x{341}")); +ok($objZh->eq("U\x{301}", pack('U', 0xDA))); +ok($objZh->eq("U\x{301}", "U\x{341}")); +ok($objZh->eq("u\x{30C}", "\x{1D4}")); +ok($objZh->eq("U\x{30C}", "\x{1D3}")); +ok($objZh->eq("u\x{300}", pack('U', 0xF9))); +ok($objZh->eq("u\x{300}", "u\x{340}")); +ok($objZh->eq("U\x{300}", pack('U', 0xD9))); +ok($objZh->eq("U\x{300}", "U\x{340}")); +ok($objZh->eq("u\x{308}\x{304}", "\x{1D6}")); +ok($objZh->eq("u\x{308}\x{304}", pack('U*', 0xFC, 0x304))); +ok($objZh->eq("U\x{308}\x{304}", "\x{1D5}")); +ok($objZh->eq("U\x{308}\x{304}", pack('U*', 0xDC, 0x304))); +ok($objZh->eq("u\x{308}\x{301}", "\x{1D8}")); +ok($objZh->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301))); +ok($objZh->eq("u\x{308}\x{301}", "u\x{308}\x{341}")); +ok($objZh->eq("U\x{308}\x{301}", "\x{1D7}")); +ok($objZh->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x301))); +ok($objZh->eq("U\x{308}\x{301}", "U\x{308}\x{341}")); +ok($objZh->eq("u\x{308}\x{30C}", "\x{1DA}")); +ok($objZh->eq("u\x{308}\x{30C}", pack('U*', 0xFC, 0x30C))); +ok($objZh->eq("U\x{308}\x{30C}", "\x{1D9}")); +ok($objZh->eq("U\x{308}\x{30C}", pack('U*', 0xDC, 0x30C))); +ok($objZh->eq("u\x{308}\x{300}", "\x{1DC}")); +ok($objZh->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300))); +ok($objZh->eq("u\x{308}\x{300}", "u\x{308}\x{340}")); +ok($objZh->eq("U\x{308}\x{300}", "\x{1DB}")); +ok($objZh->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x300))); +ok($objZh->eq("U\x{308}\x{300}", "U\x{308}\x{340}")); +ok($objZh->eq("u\x{308}", pack('U', 0xFC))); +ok($objZh->eq("U\x{308}", pack('U', 0xDC))); + +# 266 + +ok($objZh->eq("e\x{302}\x{303}", "\x{1EC5}")); +ok($objZh->eq("E\x{302}\x{303}", "\x{1EC4}")); +ok($objZh->eq("e\x{302}\x{309}", "\x{1EC3}")); +ok($objZh->eq("E\x{302}\x{309}", "\x{1EC2}")); +ok($objZh->eq("e\x{302}\x{323}", "\x{1EC7}")); +ok($objZh->eq("E\x{302}\x{323}", "\x{1EC6}")); + +# 272 diff --git a/cpan/Unicode-Collate/t/loc_zhb5.t b/cpan/Unicode-Collate/t/loc_zhb5.t new file mode 100644 index 0000000000..c4b8c5270c --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_zhb5.t @@ -0,0 +1,335 @@ +#!perl +use strict; +use warnings; +use Unicode::Collate::Locale; + +use Test; +plan tests => 293; + +my $objZhB = Unicode::Collate::Locale-> + new(locale => 'ZH__big5han', normalization => undef); + +ok(1); +ok($objZhB->getlocale, 'zh__big5han'); + +$objZhB->change(level => 1); + +ok($objZhB->eq("a\x{304}", "a\x{301}")); +ok($objZhB->eq("a\x{301}", "a\x{30C}")); +ok($objZhB->eq("a\x{30C}", "a\x{300}")); +ok($objZhB->eq("a\x{300}", "a")); +ok($objZhB->eq("e\x{304}", "e\x{301}")); +ok($objZhB->eq("e\x{301}", "e\x{30C}")); +ok($objZhB->eq("e\x{30C}", "e\x{300}")); +ok($objZhB->eq("e\x{300}", "e")); +ok($objZhB->eq("e\x{302}\x{304}", "e\x{302}\x{301}")); +ok($objZhB->eq("e\x{302}\x{301}", "e\x{302}\x{30C}")); +ok($objZhB->eq("e\x{302}\x{30C}", "e\x{302}\x{300}")); +ok($objZhB->eq("e\x{302}\x{300}", "e\x{302}")); +ok($objZhB->eq("i\x{304}", "i\x{301}")); +ok($objZhB->eq("i\x{301}", "i\x{30C}")); +ok($objZhB->eq("i\x{30C}", "i\x{300}")); +ok($objZhB->eq("i\x{300}", "i")); +ok($objZhB->eq("m\x{304}", "m\x{301}")); +ok($objZhB->eq("m\x{301}", "m\x{30C}")); +ok($objZhB->eq("m\x{30C}", "m\x{300}")); +ok($objZhB->eq("m\x{300}", "m")); +ok($objZhB->eq("n\x{304}", "n\x{301}")); +ok($objZhB->eq("n\x{301}", "n\x{30C}")); +ok($objZhB->eq("n\x{30C}", "n\x{300}")); +ok($objZhB->eq("n\x{300}", "n")); +ok($objZhB->eq("o\x{304}", "o\x{301}")); +ok($objZhB->eq("o\x{301}", "o\x{30C}")); +ok($objZhB->eq("o\x{30C}", "o\x{300}")); +ok($objZhB->eq("o\x{300}", "o")); +ok($objZhB->eq("u\x{304}", "u\x{301}")); +ok($objZhB->eq("u\x{301}", "u\x{30C}")); +ok($objZhB->eq("u\x{30C}", "u\x{300}")); +ok($objZhB->eq("u\x{300}", "u")); +ok($objZhB->eq("u\x{308}\x{304}", "u\x{308}\x{301}")); +ok($objZhB->eq("u\x{308}\x{301}", "u\x{308}\x{30C}")); +ok($objZhB->eq("u\x{308}\x{30C}", "u\x{308}\x{300}")); +ok($objZhB->eq("u\x{308}\x{300}", "u\x{308}")); + +# 38 + +$objZhB->change(level => 2); + +ok($objZhB->lt("a\x{304}", "a\x{301}")); +ok($objZhB->lt("a\x{301}", "a\x{30C}")); +ok($objZhB->lt("a\x{30C}", "a\x{300}")); +ok($objZhB->lt("a\x{300}", "a")); +ok($objZhB->lt("e\x{304}", "e\x{301}")); +ok($objZhB->lt("e\x{301}", "e\x{30C}")); +ok($objZhB->lt("e\x{30C}", "e\x{300}")); +ok($objZhB->lt("e\x{300}", "e")); +ok($objZhB->lt("e\x{302}\x{304}", "e\x{302}\x{301}")); +ok($objZhB->lt("e\x{302}\x{301}", "e\x{302}\x{30C}")); +ok($objZhB->lt("e\x{302}\x{30C}", "e\x{302}\x{300}")); +ok($objZhB->lt("e\x{302}\x{300}", "e\x{302}")); +ok($objZhB->lt("i\x{304}", "i\x{301}")); +ok($objZhB->lt("i\x{301}", "i\x{30C}")); +ok($objZhB->lt("i\x{30C}", "i\x{300}")); +ok($objZhB->lt("i\x{300}", "i")); +ok($objZhB->lt("m\x{304}", "m\x{301}")); +ok($objZhB->lt("m\x{301}", "m\x{30C}")); +ok($objZhB->lt("m\x{30C}", "m\x{300}")); +ok($objZhB->lt("m\x{300}", "m")); +ok($objZhB->lt("n\x{304}", "n\x{301}")); +ok($objZhB->lt("n\x{301}", "n\x{30C}")); +ok($objZhB->lt("n\x{30C}", "n\x{300}")); +ok($objZhB->lt("n\x{300}", "n")); +ok($objZhB->lt("o\x{304}", "o\x{301}")); +ok($objZhB->lt("o\x{301}", "o\x{30C}")); +ok($objZhB->lt("o\x{30C}", "o\x{300}")); +ok($objZhB->lt("o\x{300}", "o")); +ok($objZhB->lt("u\x{304}", "u\x{301}")); +ok($objZhB->lt("u\x{301}", "u\x{30C}")); +ok($objZhB->lt("u\x{30C}", "u\x{300}")); +ok($objZhB->lt("u\x{300}", "u")); +ok($objZhB->lt("u\x{308}\x{304}", "u\x{308}\x{301}")); +ok($objZhB->lt("u\x{308}\x{301}", "u\x{308}\x{30C}")); +ok($objZhB->lt("u\x{308}\x{30C}", "u\x{308}\x{300}")); +ok($objZhB->lt("u\x{308}\x{300}", "u\x{308}")); + +# 74 + +ok($objZhB->eq("a\x{304}", "A\x{304}")); +ok($objZhB->eq("a\x{301}", "A\x{301}")); +ok($objZhB->eq("a\x{30C}", "A\x{30C}")); +ok($objZhB->eq("a\x{300}", "A\x{300}")); +ok($objZhB->eq("e\x{304}", "E\x{304}")); +ok($objZhB->eq("e\x{301}", "E\x{301}")); +ok($objZhB->eq("e\x{30C}", "E\x{30C}")); +ok($objZhB->eq("e\x{300}", "E\x{300}")); +ok($objZhB->eq("e\x{302}\x{304}", "E\x{302}\x{304}")); +ok($objZhB->eq("e\x{302}\x{301}", "E\x{302}\x{301}")); +ok($objZhB->eq("e\x{302}\x{30C}", "E\x{302}\x{30C}")); +ok($objZhB->eq("e\x{302}\x{300}", "E\x{302}\x{300}")); +ok($objZhB->eq("e\x{302}", "E\x{302}")); +ok($objZhB->eq("i\x{304}", "I\x{304}")); +ok($objZhB->eq("i\x{301}", "I\x{301}")); +ok($objZhB->eq("i\x{30C}", "I\x{30C}")); +ok($objZhB->eq("i\x{300}", "I\x{300}")); +ok($objZhB->eq("m\x{304}", "M\x{304}")); +ok($objZhB->eq("m\x{301}", "M\x{301}")); +ok($objZhB->eq("m\x{30C}", "M\x{30C}")); +ok($objZhB->eq("m\x{300}", "M\x{300}")); +ok($objZhB->eq("n\x{304}", "N\x{304}")); +ok($objZhB->eq("n\x{301}", "N\x{301}")); +ok($objZhB->eq("n\x{30C}", "N\x{30C}")); +ok($objZhB->eq("n\x{300}", "N\x{300}")); +ok($objZhB->eq("o\x{304}", "O\x{304}")); +ok($objZhB->eq("o\x{301}", "O\x{301}")); +ok($objZhB->eq("o\x{30C}", "O\x{30C}")); +ok($objZhB->eq("o\x{300}", "O\x{300}")); +ok($objZhB->eq("u\x{304}", "U\x{304}")); +ok($objZhB->eq("u\x{301}", "U\x{301}")); +ok($objZhB->eq("u\x{30C}", "U\x{30C}")); +ok($objZhB->eq("u\x{300}", "U\x{300}")); +ok($objZhB->eq("u\x{308}\x{304}", "U\x{308}\x{304}")); +ok($objZhB->eq("u\x{308}\x{301}", "U\x{308}\x{301}")); +ok($objZhB->eq("u\x{308}\x{30C}", "U\x{308}\x{30C}")); +ok($objZhB->eq("u\x{308}\x{300}", "U\x{308}\x{300}")); +ok($objZhB->eq("u\x{308}", "U\x{308}")); + +# 112 + +$objZhB->change(level => 3); + +ok($objZhB->lt("a\x{304}", "A\x{304}")); +ok($objZhB->lt("a\x{301}", "A\x{301}")); +ok($objZhB->lt("a\x{30C}", "A\x{30C}")); +ok($objZhB->lt("a\x{300}", "A\x{300}")); +ok($objZhB->lt("e\x{304}", "E\x{304}")); +ok($objZhB->lt("e\x{301}", "E\x{301}")); +ok($objZhB->lt("e\x{30C}", "E\x{30C}")); +ok($objZhB->lt("e\x{300}", "E\x{300}")); +ok($objZhB->lt("e\x{302}\x{304}", "E\x{302}\x{304}")); +ok($objZhB->lt("e\x{302}\x{301}", "E\x{302}\x{301}")); +ok($objZhB->lt("e\x{302}\x{30C}", "E\x{302}\x{30C}")); +ok($objZhB->lt("e\x{302}\x{300}", "E\x{302}\x{300}")); +ok($objZhB->lt("e\x{302}", "E\x{302}")); +ok($objZhB->lt("i\x{304}", "I\x{304}")); +ok($objZhB->lt("i\x{301}", "I\x{301}")); +ok($objZhB->lt("i\x{30C}", "I\x{30C}")); +ok($objZhB->lt("i\x{300}", "I\x{300}")); +ok($objZhB->lt("m\x{304}", "M\x{304}")); +ok($objZhB->lt("m\x{301}", "M\x{301}")); +ok($objZhB->lt("m\x{30C}", "M\x{30C}")); +ok($objZhB->lt("m\x{300}", "M\x{300}")); +ok($objZhB->lt("n\x{304}", "N\x{304}")); +ok($objZhB->lt("n\x{301}", "N\x{301}")); +ok($objZhB->lt("n\x{30C}", "N\x{30C}")); +ok($objZhB->lt("n\x{300}", "N\x{300}")); +ok($objZhB->lt("o\x{304}", "O\x{304}")); +ok($objZhB->lt("o\x{301}", "O\x{301}")); +ok($objZhB->lt("o\x{30C}", "O\x{30C}")); +ok($objZhB->lt("o\x{300}", "O\x{300}")); +ok($objZhB->lt("u\x{304}", "U\x{304}")); +ok($objZhB->lt("u\x{301}", "U\x{301}")); +ok($objZhB->lt("u\x{30C}", "U\x{30C}")); +ok($objZhB->lt("u\x{300}", "U\x{300}")); +ok($objZhB->lt("u\x{308}\x{304}", "U\x{308}\x{304}")); +ok($objZhB->lt("u\x{308}\x{301}", "U\x{308}\x{301}")); +ok($objZhB->lt("u\x{308}\x{30C}", "U\x{308}\x{30C}")); +ok($objZhB->lt("u\x{308}\x{300}", "U\x{308}\x{300}")); +ok($objZhB->lt("u\x{308}", "U\x{308}")); + +# 150 + +ok($objZhB->eq("a\x{304}", "\x{101}")); +ok($objZhB->eq("A\x{304}", "\x{100}")); +ok($objZhB->eq("a\x{301}", pack('U', 0xE1))); +ok($objZhB->eq("a\x{301}", "a\x{341}")); +ok($objZhB->eq("A\x{301}", pack('U', 0xC1))); +ok($objZhB->eq("A\x{301}", "A\x{341}")); +ok($objZhB->eq("a\x{30C}", "\x{1CE}")); +ok($objZhB->eq("A\x{30C}", "\x{1CD}")); +ok($objZhB->eq("a\x{300}", pack('U', 0xE0))); +ok($objZhB->eq("a\x{300}", "a\x{340}")); +ok($objZhB->eq("A\x{300}", pack('U', 0xC0))); +ok($objZhB->eq("A\x{300}", "A\x{340}")); +ok($objZhB->eq("e\x{304}", "\x{113}")); +ok($objZhB->eq("E\x{304}", "\x{112}")); +ok($objZhB->eq("e\x{301}", pack('U', 0xE9))); +ok($objZhB->eq("e\x{301}", "e\x{341}")); +ok($objZhB->eq("E\x{301}", pack('U', 0xC9))); +ok($objZhB->eq("E\x{301}", "E\x{341}")); +ok($objZhB->eq("e\x{30C}", "\x{11B}")); +ok($objZhB->eq("E\x{30C}", "\x{11A}")); +ok($objZhB->eq("e\x{300}", pack('U', 0xE8))); +ok($objZhB->eq("e\x{300}", "e\x{340}")); +ok($objZhB->eq("E\x{300}", pack('U', 0xC8))); +ok($objZhB->eq("E\x{300}", "E\x{340}")); +ok($objZhB->eq("e\x{302}\x{304}", pack('U*', 0xEA, 0x304))); +ok($objZhB->eq("E\x{302}\x{304}", pack('U*', 0xCA, 0x304))); +ok($objZhB->eq("e\x{302}\x{301}", "\x{1EBF}")); +ok($objZhB->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301))); +ok($objZhB->eq("e\x{302}\x{301}", "e\x{302}\x{341}")); +ok($objZhB->eq("E\x{302}\x{301}", "\x{1EBE}")); +ok($objZhB->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x301))); +ok($objZhB->eq("E\x{302}\x{301}", "E\x{302}\x{341}")); +ok($objZhB->eq("e\x{302}\x{30C}", pack('U*', 0xEA, 0x30C))); +ok($objZhB->eq("E\x{302}\x{30C}", pack('U*', 0xCA, 0x30C))); +ok($objZhB->eq("e\x{302}\x{300}", "\x{1EC1}")); +ok($objZhB->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300))); +ok($objZhB->eq("e\x{302}\x{300}", "e\x{302}\x{340}")); +ok($objZhB->eq("E\x{302}\x{300}", "\x{1EC0}")); +ok($objZhB->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x300))); +ok($objZhB->eq("E\x{302}\x{300}", "E\x{302}\x{340}")); +ok($objZhB->eq("e\x{302}", pack('U', 0xEA))); +ok($objZhB->eq("E\x{302}", pack('U', 0xCA))); +ok($objZhB->eq("i\x{304}", "\x{12B}")); +ok($objZhB->eq("I\x{304}", "\x{12A}")); +ok($objZhB->eq("i\x{301}", pack('U', 0xED))); +ok($objZhB->eq("i\x{301}", "i\x{341}")); +ok($objZhB->eq("I\x{301}", pack('U', 0xCD))); +ok($objZhB->eq("I\x{301}", "I\x{341}")); +ok($objZhB->eq("i\x{30C}", "\x{1D0}")); +ok($objZhB->eq("I\x{30C}", "\x{1CF}")); +ok($objZhB->eq("i\x{300}", pack('U', 0xEC))); +ok($objZhB->eq("i\x{300}", "i\x{340}")); +ok($objZhB->eq("I\x{300}", pack('U', 0xCC))); +ok($objZhB->eq("I\x{300}", "I\x{340}")); +ok($objZhB->eq("m\x{301}", "\x{1E3F}")); +ok($objZhB->eq("m\x{301}", "m\x{341}")); +ok($objZhB->eq("M\x{301}", "\x{1E3E}")); +ok($objZhB->eq("M\x{301}", "M\x{341}")); +ok($objZhB->eq("m\x{300}", "m\x{340}")); +ok($objZhB->eq("M\x{300}", "M\x{340}")); +ok($objZhB->eq("n\x{301}", "\x{144}")); +ok($objZhB->eq("n\x{301}", "n\x{341}")); +ok($objZhB->eq("N\x{301}", "\x{143}")); +ok($objZhB->eq("N\x{301}", "N\x{341}")); +ok($objZhB->eq("n\x{30C}", "\x{148}")); +ok($objZhB->eq("N\x{30C}", "\x{147}")); +ok($objZhB->eq("n\x{300}", "\x{1F9}")); +ok($objZhB->eq("n\x{300}", "n\x{340}")); +ok($objZhB->eq("N\x{300}", "\x{1F8}")); +ok($objZhB->eq("N\x{300}", "N\x{340}")); +ok($objZhB->eq("o\x{304}", "\x{14D}")); +ok($objZhB->eq("O\x{304}", "\x{14C}")); +ok($objZhB->eq("o\x{301}", pack('U', 0xF3))); +ok($objZhB->eq("o\x{301}", "o\x{341}")); +ok($objZhB->eq("O\x{301}", pack('U', 0xD3))); +ok($objZhB->eq("O\x{301}", "O\x{341}")); +ok($objZhB->eq("o\x{30C}", "\x{1D2}")); +ok($objZhB->eq("O\x{30C}", "\x{1D1}")); +ok($objZhB->eq("o\x{300}", pack('U', 0xF2))); +ok($objZhB->eq("o\x{300}", "o\x{340}")); +ok($objZhB->eq("O\x{300}", pack('U', 0xD2))); +ok($objZhB->eq("O\x{300}", "O\x{340}")); +ok($objZhB->eq("u\x{304}", "\x{16B}")); +ok($objZhB->eq("U\x{304}", "\x{16A}")); +ok($objZhB->eq("u\x{301}", pack('U', 0xFA))); +ok($objZhB->eq("u\x{301}", "u\x{341}")); +ok($objZhB->eq("U\x{301}", pack('U', 0xDA))); +ok($objZhB->eq("U\x{301}", "U\x{341}")); +ok($objZhB->eq("u\x{30C}", "\x{1D4}")); +ok($objZhB->eq("U\x{30C}", "\x{1D3}")); +ok($objZhB->eq("u\x{300}", pack('U', 0xF9))); +ok($objZhB->eq("u\x{300}", "u\x{340}")); +ok($objZhB->eq("U\x{300}", pack('U', 0xD9))); +ok($objZhB->eq("U\x{300}", "U\x{340}")); +ok($objZhB->eq("u\x{308}\x{304}", "\x{1D6}")); +ok($objZhB->eq("u\x{308}\x{304}", pack('U*', 0xFC, 0x304))); +ok($objZhB->eq("U\x{308}\x{304}", "\x{1D5}")); +ok($objZhB->eq("U\x{308}\x{304}", pack('U*', 0xDC, 0x304))); +ok($objZhB->eq("u\x{308}\x{301}", "\x{1D8}")); +ok($objZhB->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301))); +ok($objZhB->eq("u\x{308}\x{301}", "u\x{308}\x{341}")); +ok($objZhB->eq("U\x{308}\x{301}", "\x{1D7}")); +ok($objZhB->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x301))); +ok($objZhB->eq("U\x{308}\x{301}", "U\x{308}\x{341}")); +ok($objZhB->eq("u\x{308}\x{30C}", "\x{1DA}")); +ok($objZhB->eq("u\x{308}\x{30C}", pack('U*', 0xFC, 0x30C))); +ok($objZhB->eq("U\x{308}\x{30C}", "\x{1D9}")); +ok($objZhB->eq("U\x{308}\x{30C}", pack('U*', 0xDC, 0x30C))); +ok($objZhB->eq("u\x{308}\x{300}", "\x{1DC}")); +ok($objZhB->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300))); +ok($objZhB->eq("u\x{308}\x{300}", "u\x{308}\x{340}")); +ok($objZhB->eq("U\x{308}\x{300}", "\x{1DB}")); +ok($objZhB->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x300))); +ok($objZhB->eq("U\x{308}\x{300}", "U\x{308}\x{340}")); +ok($objZhB->eq("u\x{308}", pack('U', 0xFC))); +ok($objZhB->eq("U\x{308}", pack('U', 0xDC))); + +# 266 + +ok($objZhB->eq("e\x{302}\x{303}", "\x{1EC5}")); +ok($objZhB->eq("E\x{302}\x{303}", "\x{1EC4}")); +ok($objZhB->eq("e\x{302}\x{309}", "\x{1EC3}")); +ok($objZhB->eq("E\x{302}\x{309}", "\x{1EC2}")); +ok($objZhB->eq("e\x{302}\x{323}", "\x{1EC7}")); +ok($objZhB->eq("E\x{302}\x{323}", "\x{1EC6}")); + +# 272 + +$objZhB->change(level => 1); + +ok($objZhB->lt("\x{A000}", "\x{5159}")); + +ok($objZhB->lt("\x{5159}", "\x{515B}")); +ok($objZhB->lt("\x{515B}", "\x{515E}")); +ok($objZhB->lt("\x{515E}", "\x{515D}")); +ok($objZhB->lt("\x{515D}", "\x{5161}")); +ok($objZhB->lt("\x{5161}", "\x{5163}")); +ok($objZhB->lt("\x{5163}", "\x{55E7}")); +ok($objZhB->lt("\x{55E7}", "\x{74E9}")); +ok($objZhB->lt("\x{74E9}", "\x{7CCE}")); +ok($objZhB->lt("\x{7CCE}", "\x{4E00}")); +ok($objZhB->lt("\x{4E00}", "\x{4E59}")); +ok($objZhB->lt("\x{4E59}", "\x{4E01}")); +ok($objZhB->lt("\x{4E01}", "\x{4E03}")); +ok($objZhB->lt("\x{4E03}", "\x{4E43}")); +ok($objZhB->lt("\x{4E43}", "\x{4E5D}")); +ok($objZhB->lt("\x{4E5D}", "\x{4E86}")); + +ok($objZhB->lt("\x{7069}", "\x{706A}")); +ok($objZhB->lt("\x{706A}", "\x{9EA4}")); +ok($objZhB->lt("\x{9EA4}", "\x{9F7E}")); +ok($objZhB->lt("\x{9F7E}", "\x{9F49}")); +ok($objZhB->lt("\x{9F49}", "\x{9F98}")); + +# 293 diff --git a/cpan/Unicode-Collate/t/loc_zhgb.t b/cpan/Unicode-Collate/t/loc_zhgb.t new file mode 100644 index 0000000000..486431d28f --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_zhgb.t @@ -0,0 +1,333 @@ +#!perl +use strict; +use warnings; +use Unicode::Collate::Locale; + +use Test; +plan tests => 290; + +my $objZhG = Unicode::Collate::Locale-> + new(locale => 'ZH__gb2312han', normalization => undef); + +ok(1); +ok($objZhG->getlocale, 'zh__gb2312han'); + +$objZhG->change(level => 1); + +ok($objZhG->eq("a\x{304}", "a\x{301}")); +ok($objZhG->eq("a\x{301}", "a\x{30C}")); +ok($objZhG->eq("a\x{30C}", "a\x{300}")); +ok($objZhG->eq("a\x{300}", "a")); +ok($objZhG->eq("e\x{304}", "e\x{301}")); +ok($objZhG->eq("e\x{301}", "e\x{30C}")); +ok($objZhG->eq("e\x{30C}", "e\x{300}")); +ok($objZhG->eq("e\x{300}", "e")); +ok($objZhG->eq("e\x{302}\x{304}", "e\x{302}\x{301}")); +ok($objZhG->eq("e\x{302}\x{301}", "e\x{302}\x{30C}")); +ok($objZhG->eq("e\x{302}\x{30C}", "e\x{302}\x{300}")); +ok($objZhG->eq("e\x{302}\x{300}", "e\x{302}")); +ok($objZhG->eq("i\x{304}", "i\x{301}")); +ok($objZhG->eq("i\x{301}", "i\x{30C}")); +ok($objZhG->eq("i\x{30C}", "i\x{300}")); +ok($objZhG->eq("i\x{300}", "i")); +ok($objZhG->eq("m\x{304}", "m\x{301}")); +ok($objZhG->eq("m\x{301}", "m\x{30C}")); +ok($objZhG->eq("m\x{30C}", "m\x{300}")); +ok($objZhG->eq("m\x{300}", "m")); +ok($objZhG->eq("n\x{304}", "n\x{301}")); +ok($objZhG->eq("n\x{301}", "n\x{30C}")); +ok($objZhG->eq("n\x{30C}", "n\x{300}")); +ok($objZhG->eq("n\x{300}", "n")); +ok($objZhG->eq("o\x{304}", "o\x{301}")); +ok($objZhG->eq("o\x{301}", "o\x{30C}")); +ok($objZhG->eq("o\x{30C}", "o\x{300}")); +ok($objZhG->eq("o\x{300}", "o")); +ok($objZhG->eq("u\x{304}", "u\x{301}")); +ok($objZhG->eq("u\x{301}", "u\x{30C}")); +ok($objZhG->eq("u\x{30C}", "u\x{300}")); +ok($objZhG->eq("u\x{300}", "u")); +ok($objZhG->eq("u\x{308}\x{304}", "u\x{308}\x{301}")); +ok($objZhG->eq("u\x{308}\x{301}", "u\x{308}\x{30C}")); +ok($objZhG->eq("u\x{308}\x{30C}", "u\x{308}\x{300}")); +ok($objZhG->eq("u\x{308}\x{300}", "u\x{308}")); + +# 38 + +$objZhG->change(level => 2); + +ok($objZhG->lt("a\x{304}", "a\x{301}")); +ok($objZhG->lt("a\x{301}", "a\x{30C}")); +ok($objZhG->lt("a\x{30C}", "a\x{300}")); +ok($objZhG->lt("a\x{300}", "a")); +ok($objZhG->lt("e\x{304}", "e\x{301}")); +ok($objZhG->lt("e\x{301}", "e\x{30C}")); +ok($objZhG->lt("e\x{30C}", "e\x{300}")); +ok($objZhG->lt("e\x{300}", "e")); +ok($objZhG->lt("e\x{302}\x{304}", "e\x{302}\x{301}")); +ok($objZhG->lt("e\x{302}\x{301}", "e\x{302}\x{30C}")); +ok($objZhG->lt("e\x{302}\x{30C}", "e\x{302}\x{300}")); +ok($objZhG->lt("e\x{302}\x{300}", "e\x{302}")); +ok($objZhG->lt("i\x{304}", "i\x{301}")); +ok($objZhG->lt("i\x{301}", "i\x{30C}")); +ok($objZhG->lt("i\x{30C}", "i\x{300}")); +ok($objZhG->lt("i\x{300}", "i")); +ok($objZhG->lt("m\x{304}", "m\x{301}")); +ok($objZhG->lt("m\x{301}", "m\x{30C}")); +ok($objZhG->lt("m\x{30C}", "m\x{300}")); +ok($objZhG->lt("m\x{300}", "m")); +ok($objZhG->lt("n\x{304}", "n\x{301}")); +ok($objZhG->lt("n\x{301}", "n\x{30C}")); +ok($objZhG->lt("n\x{30C}", "n\x{300}")); +ok($objZhG->lt("n\x{300}", "n")); +ok($objZhG->lt("o\x{304}", "o\x{301}")); +ok($objZhG->lt("o\x{301}", "o\x{30C}")); +ok($objZhG->lt("o\x{30C}", "o\x{300}")); +ok($objZhG->lt("o\x{300}", "o")); +ok($objZhG->lt("u\x{304}", "u\x{301}")); +ok($objZhG->lt("u\x{301}", "u\x{30C}")); +ok($objZhG->lt("u\x{30C}", "u\x{300}")); +ok($objZhG->lt("u\x{300}", "u")); +ok($objZhG->lt("u\x{308}\x{304}", "u\x{308}\x{301}")); +ok($objZhG->lt("u\x{308}\x{301}", "u\x{308}\x{30C}")); +ok($objZhG->lt("u\x{308}\x{30C}", "u\x{308}\x{300}")); +ok($objZhG->lt("u\x{308}\x{300}", "u\x{308}")); + +# 74 + +ok($objZhG->eq("a\x{304}", "A\x{304}")); +ok($objZhG->eq("a\x{301}", "A\x{301}")); +ok($objZhG->eq("a\x{30C}", "A\x{30C}")); +ok($objZhG->eq("a\x{300}", "A\x{300}")); +ok($objZhG->eq("e\x{304}", "E\x{304}")); +ok($objZhG->eq("e\x{301}", "E\x{301}")); +ok($objZhG->eq("e\x{30C}", "E\x{30C}")); +ok($objZhG->eq("e\x{300}", "E\x{300}")); +ok($objZhG->eq("e\x{302}\x{304}", "E\x{302}\x{304}")); +ok($objZhG->eq("e\x{302}\x{301}", "E\x{302}\x{301}")); +ok($objZhG->eq("e\x{302}\x{30C}", "E\x{302}\x{30C}")); +ok($objZhG->eq("e\x{302}\x{300}", "E\x{302}\x{300}")); +ok($objZhG->eq("e\x{302}", "E\x{302}")); +ok($objZhG->eq("i\x{304}", "I\x{304}")); +ok($objZhG->eq("i\x{301}", "I\x{301}")); +ok($objZhG->eq("i\x{30C}", "I\x{30C}")); +ok($objZhG->eq("i\x{300}", "I\x{300}")); +ok($objZhG->eq("m\x{304}", "M\x{304}")); +ok($objZhG->eq("m\x{301}", "M\x{301}")); +ok($objZhG->eq("m\x{30C}", "M\x{30C}")); +ok($objZhG->eq("m\x{300}", "M\x{300}")); +ok($objZhG->eq("n\x{304}", "N\x{304}")); +ok($objZhG->eq("n\x{301}", "N\x{301}")); +ok($objZhG->eq("n\x{30C}", "N\x{30C}")); +ok($objZhG->eq("n\x{300}", "N\x{300}")); +ok($objZhG->eq("o\x{304}", "O\x{304}")); +ok($objZhG->eq("o\x{301}", "O\x{301}")); +ok($objZhG->eq("o\x{30C}", "O\x{30C}")); +ok($objZhG->eq("o\x{300}", "O\x{300}")); +ok($objZhG->eq("u\x{304}", "U\x{304}")); +ok($objZhG->eq("u\x{301}", "U\x{301}")); +ok($objZhG->eq("u\x{30C}", "U\x{30C}")); +ok($objZhG->eq("u\x{300}", "U\x{300}")); +ok($objZhG->eq("u\x{308}\x{304}", "U\x{308}\x{304}")); +ok($objZhG->eq("u\x{308}\x{301}", "U\x{308}\x{301}")); +ok($objZhG->eq("u\x{308}\x{30C}", "U\x{308}\x{30C}")); +ok($objZhG->eq("u\x{308}\x{300}", "U\x{308}\x{300}")); +ok($objZhG->eq("u\x{308}", "U\x{308}")); + +# 112 + +$objZhG->change(level => 3); + +ok($objZhG->lt("a\x{304}", "A\x{304}")); +ok($objZhG->lt("a\x{301}", "A\x{301}")); +ok($objZhG->lt("a\x{30C}", "A\x{30C}")); +ok($objZhG->lt("a\x{300}", "A\x{300}")); +ok($objZhG->lt("e\x{304}", "E\x{304}")); +ok($objZhG->lt("e\x{301}", "E\x{301}")); +ok($objZhG->lt("e\x{30C}", "E\x{30C}")); +ok($objZhG->lt("e\x{300}", "E\x{300}")); +ok($objZhG->lt("e\x{302}\x{304}", "E\x{302}\x{304}")); +ok($objZhG->lt("e\x{302}\x{301}", "E\x{302}\x{301}")); +ok($objZhG->lt("e\x{302}\x{30C}", "E\x{302}\x{30C}")); +ok($objZhG->lt("e\x{302}\x{300}", "E\x{302}\x{300}")); +ok($objZhG->lt("e\x{302}", "E\x{302}")); +ok($objZhG->lt("i\x{304}", "I\x{304}")); +ok($objZhG->lt("i\x{301}", "I\x{301}")); +ok($objZhG->lt("i\x{30C}", "I\x{30C}")); +ok($objZhG->lt("i\x{300}", "I\x{300}")); +ok($objZhG->lt("m\x{304}", "M\x{304}")); +ok($objZhG->lt("m\x{301}", "M\x{301}")); +ok($objZhG->lt("m\x{30C}", "M\x{30C}")); +ok($objZhG->lt("m\x{300}", "M\x{300}")); +ok($objZhG->lt("n\x{304}", "N\x{304}")); +ok($objZhG->lt("n\x{301}", "N\x{301}")); +ok($objZhG->lt("n\x{30C}", "N\x{30C}")); +ok($objZhG->lt("n\x{300}", "N\x{300}")); +ok($objZhG->lt("o\x{304}", "O\x{304}")); +ok($objZhG->lt("o\x{301}", "O\x{301}")); +ok($objZhG->lt("o\x{30C}", "O\x{30C}")); +ok($objZhG->lt("o\x{300}", "O\x{300}")); +ok($objZhG->lt("u\x{304}", "U\x{304}")); +ok($objZhG->lt("u\x{301}", "U\x{301}")); +ok($objZhG->lt("u\x{30C}", "U\x{30C}")); +ok($objZhG->lt("u\x{300}", "U\x{300}")); +ok($objZhG->lt("u\x{308}\x{304}", "U\x{308}\x{304}")); +ok($objZhG->lt("u\x{308}\x{301}", "U\x{308}\x{301}")); +ok($objZhG->lt("u\x{308}\x{30C}", "U\x{308}\x{30C}")); +ok($objZhG->lt("u\x{308}\x{300}", "U\x{308}\x{300}")); +ok($objZhG->lt("u\x{308}", "U\x{308}")); + +# 150 + +ok($objZhG->eq("a\x{304}", "\x{101}")); +ok($objZhG->eq("A\x{304}", "\x{100}")); +ok($objZhG->eq("a\x{301}", pack('U', 0xE1))); +ok($objZhG->eq("a\x{301}", "a\x{341}")); +ok($objZhG->eq("A\x{301}", pack('U', 0xC1))); +ok($objZhG->eq("A\x{301}", "A\x{341}")); +ok($objZhG->eq("a\x{30C}", "\x{1CE}")); +ok($objZhG->eq("A\x{30C}", "\x{1CD}")); +ok($objZhG->eq("a\x{300}", pack('U', 0xE0))); +ok($objZhG->eq("a\x{300}", "a\x{340}")); +ok($objZhG->eq("A\x{300}", pack('U', 0xC0))); +ok($objZhG->eq("A\x{300}", "A\x{340}")); +ok($objZhG->eq("e\x{304}", "\x{113}")); +ok($objZhG->eq("E\x{304}", "\x{112}")); +ok($objZhG->eq("e\x{301}", pack('U', 0xE9))); +ok($objZhG->eq("e\x{301}", "e\x{341}")); +ok($objZhG->eq("E\x{301}", pack('U', 0xC9))); +ok($objZhG->eq("E\x{301}", "E\x{341}")); +ok($objZhG->eq("e\x{30C}", "\x{11B}")); +ok($objZhG->eq("E\x{30C}", "\x{11A}")); +ok($objZhG->eq("e\x{300}", pack('U', 0xE8))); +ok($objZhG->eq("e\x{300}", "e\x{340}")); +ok($objZhG->eq("E\x{300}", pack('U', 0xC8))); +ok($objZhG->eq("E\x{300}", "E\x{340}")); +ok($objZhG->eq("e\x{302}\x{304}", pack('U*', 0xEA, 0x304))); +ok($objZhG->eq("E\x{302}\x{304}", pack('U*', 0xCA, 0x304))); +ok($objZhG->eq("e\x{302}\x{301}", "\x{1EBF}")); +ok($objZhG->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301))); +ok($objZhG->eq("e\x{302}\x{301}", "e\x{302}\x{341}")); +ok($objZhG->eq("E\x{302}\x{301}", "\x{1EBE}")); +ok($objZhG->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x301))); +ok($objZhG->eq("E\x{302}\x{301}", "E\x{302}\x{341}")); +ok($objZhG->eq("e\x{302}\x{30C}", pack('U*', 0xEA, 0x30C))); +ok($objZhG->eq("E\x{302}\x{30C}", pack('U*', 0xCA, 0x30C))); +ok($objZhG->eq("e\x{302}\x{300}", "\x{1EC1}")); +ok($objZhG->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300))); +ok($objZhG->eq("e\x{302}\x{300}", "e\x{302}\x{340}")); +ok($objZhG->eq("E\x{302}\x{300}", "\x{1EC0}")); +ok($objZhG->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x300))); +ok($objZhG->eq("E\x{302}\x{300}", "E\x{302}\x{340}")); +ok($objZhG->eq("e\x{302}", pack('U', 0xEA))); +ok($objZhG->eq("E\x{302}", pack('U', 0xCA))); +ok($objZhG->eq("i\x{304}", "\x{12B}")); +ok($objZhG->eq("I\x{304}", "\x{12A}")); +ok($objZhG->eq("i\x{301}", pack('U', 0xED))); +ok($objZhG->eq("i\x{301}", "i\x{341}")); +ok($objZhG->eq("I\x{301}", pack('U', 0xCD))); +ok($objZhG->eq("I\x{301}", "I\x{341}")); +ok($objZhG->eq("i\x{30C}", "\x{1D0}")); +ok($objZhG->eq("I\x{30C}", "\x{1CF}")); +ok($objZhG->eq("i\x{300}", pack('U', 0xEC))); +ok($objZhG->eq("i\x{300}", "i\x{340}")); +ok($objZhG->eq("I\x{300}", pack('U', 0xCC))); +ok($objZhG->eq("I\x{300}", "I\x{340}")); +ok($objZhG->eq("m\x{301}", "\x{1E3F}")); +ok($objZhG->eq("m\x{301}", "m\x{341}")); +ok($objZhG->eq("M\x{301}", "\x{1E3E}")); +ok($objZhG->eq("M\x{301}", "M\x{341}")); +ok($objZhG->eq("m\x{300}", "m\x{340}")); +ok($objZhG->eq("M\x{300}", "M\x{340}")); +ok($objZhG->eq("n\x{301}", "\x{144}")); +ok($objZhG->eq("n\x{301}", "n\x{341}")); +ok($objZhG->eq("N\x{301}", "\x{143}")); +ok($objZhG->eq("N\x{301}", "N\x{341}")); +ok($objZhG->eq("n\x{30C}", "\x{148}")); +ok($objZhG->eq("N\x{30C}", "\x{147}")); +ok($objZhG->eq("n\x{300}", "\x{1F9}")); +ok($objZhG->eq("n\x{300}", "n\x{340}")); +ok($objZhG->eq("N\x{300}", "\x{1F8}")); +ok($objZhG->eq("N\x{300}", "N\x{340}")); +ok($objZhG->eq("o\x{304}", "\x{14D}")); +ok($objZhG->eq("O\x{304}", "\x{14C}")); +ok($objZhG->eq("o\x{301}", pack('U', 0xF3))); +ok($objZhG->eq("o\x{301}", "o\x{341}")); +ok($objZhG->eq("O\x{301}", pack('U', 0xD3))); +ok($objZhG->eq("O\x{301}", "O\x{341}")); +ok($objZhG->eq("o\x{30C}", "\x{1D2}")); +ok($objZhG->eq("O\x{30C}", "\x{1D1}")); +ok($objZhG->eq("o\x{300}", pack('U', 0xF2))); +ok($objZhG->eq("o\x{300}", "o\x{340}")); +ok($objZhG->eq("O\x{300}", pack('U', 0xD2))); +ok($objZhG->eq("O\x{300}", "O\x{340}")); +ok($objZhG->eq("u\x{304}", "\x{16B}")); +ok($objZhG->eq("U\x{304}", "\x{16A}")); +ok($objZhG->eq("u\x{301}", pack('U', 0xFA))); +ok($objZhG->eq("u\x{301}", "u\x{341}")); +ok($objZhG->eq("U\x{301}", pack('U', 0xDA))); +ok($objZhG->eq("U\x{301}", "U\x{341}")); +ok($objZhG->eq("u\x{30C}", "\x{1D4}")); +ok($objZhG->eq("U\x{30C}", "\x{1D3}")); +ok($objZhG->eq("u\x{300}", pack('U', 0xF9))); +ok($objZhG->eq("u\x{300}", "u\x{340}")); +ok($objZhG->eq("U\x{300}", pack('U', 0xD9))); +ok($objZhG->eq("U\x{300}", "U\x{340}")); +ok($objZhG->eq("u\x{308}\x{304}", "\x{1D6}")); +ok($objZhG->eq("u\x{308}\x{304}", pack('U*', 0xFC, 0x304))); +ok($objZhG->eq("U\x{308}\x{304}", "\x{1D5}")); +ok($objZhG->eq("U\x{308}\x{304}", pack('U*', 0xDC, 0x304))); +ok($objZhG->eq("u\x{308}\x{301}", "\x{1D8}")); +ok($objZhG->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301))); +ok($objZhG->eq("u\x{308}\x{301}", "u\x{308}\x{341}")); +ok($objZhG->eq("U\x{308}\x{301}", "\x{1D7}")); +ok($objZhG->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x301))); +ok($objZhG->eq("U\x{308}\x{301}", "U\x{308}\x{341}")); +ok($objZhG->eq("u\x{308}\x{30C}", "\x{1DA}")); +ok($objZhG->eq("u\x{308}\x{30C}", pack('U*', 0xFC, 0x30C))); +ok($objZhG->eq("U\x{308}\x{30C}", "\x{1D9}")); +ok($objZhG->eq("U\x{308}\x{30C}", pack('U*', 0xDC, 0x30C))); +ok($objZhG->eq("u\x{308}\x{300}", "\x{1DC}")); +ok($objZhG->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300))); +ok($objZhG->eq("u\x{308}\x{300}", "u\x{308}\x{340}")); +ok($objZhG->eq("U\x{308}\x{300}", "\x{1DB}")); +ok($objZhG->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x300))); +ok($objZhG->eq("U\x{308}\x{300}", "U\x{308}\x{340}")); +ok($objZhG->eq("u\x{308}", pack('U', 0xFC))); +ok($objZhG->eq("U\x{308}", pack('U', 0xDC))); + +# 266 + +ok($objZhG->eq("e\x{302}\x{303}", "\x{1EC5}")); +ok($objZhG->eq("E\x{302}\x{303}", "\x{1EC4}")); +ok($objZhG->eq("e\x{302}\x{309}", "\x{1EC3}")); +ok($objZhG->eq("E\x{302}\x{309}", "\x{1EC2}")); +ok($objZhG->eq("e\x{302}\x{323}", "\x{1EC7}")); +ok($objZhG->eq("E\x{302}\x{323}", "\x{1EC6}")); + +# 272 + +$objZhG->change(level => 1); + +ok($objZhG->lt("\x{A000}", "\x{554A}")); + +ok($objZhG->lt("\x{554A}", "\x{963F}")); +ok($objZhG->lt("\x{963F}", "\x{57C3}")); +ok($objZhG->lt("\x{57C3}", "\x{6328}")); +ok($objZhG->lt("\x{6328}", "\x{54CE}")); +ok($objZhG->lt("\x{54CE}", "\x{5509}")); +ok($objZhG->lt("\x{5509}", "\x{54C0}")); +ok($objZhG->lt("\x{54C0}", "\x{7691}")); +ok($objZhG->lt("\x{7691}", "\x{764C}")); +ok($objZhG->lt("\x{764C}", "\x{853C}")); +ok($objZhG->lt("\x{853C}", "\x{77EE}")); + +ok($objZhG->lt("\x{77EE}", "\x{4E00}")); +ok($objZhG->lt("\x{4E00}", "\x{9F2F}")); + +ok($objZhG->lt("\x{9F2F}", "\x{9F39}")); +ok($objZhG->lt("\x{9F39}", "\x{9F37}")); +ok($objZhG->lt("\x{9F37}", "\x{9F3D}")); +ok($objZhG->lt("\x{9F3D}", "\x{9F3E}")); +ok($objZhG->lt("\x{9F3E}", "\x{9F44}")); + +# 290 diff --git a/cpan/Unicode-Collate/t/loc_zhpy.t b/cpan/Unicode-Collate/t/loc_zhpy.t new file mode 100644 index 0000000000..81c0fb2f43 --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_zhpy.t @@ -0,0 +1,344 @@ +#!perl +use strict; +use warnings; +use Unicode::Collate::Locale; + +use Test; +plan tests => 300; + +my $objZhP = Unicode::Collate::Locale-> + new(locale => 'ZH__pinyin', normalization => undef); + +ok(1); +ok($objZhP->getlocale, 'zh__pinyin'); + +$objZhP->change(level => 1); + +ok($objZhP->eq("a\x{304}", "a\x{301}")); +ok($objZhP->eq("a\x{301}", "a\x{30C}")); +ok($objZhP->eq("a\x{30C}", "a\x{300}")); +ok($objZhP->eq("a\x{300}", "a")); +ok($objZhP->eq("e\x{304}", "e\x{301}")); +ok($objZhP->eq("e\x{301}", "e\x{30C}")); +ok($objZhP->eq("e\x{30C}", "e\x{300}")); +ok($objZhP->eq("e\x{300}", "e")); +ok($objZhP->eq("e\x{302}\x{304}", "e\x{302}\x{301}")); +ok($objZhP->eq("e\x{302}\x{301}", "e\x{302}\x{30C}")); +ok($objZhP->eq("e\x{302}\x{30C}", "e\x{302}\x{300}")); +ok($objZhP->eq("e\x{302}\x{300}", "e\x{302}")); +ok($objZhP->eq("i\x{304}", "i\x{301}")); +ok($objZhP->eq("i\x{301}", "i\x{30C}")); +ok($objZhP->eq("i\x{30C}", "i\x{300}")); +ok($objZhP->eq("i\x{300}", "i")); +ok($objZhP->eq("m\x{304}", "m\x{301}")); +ok($objZhP->eq("m\x{301}", "m\x{30C}")); +ok($objZhP->eq("m\x{30C}", "m\x{300}")); +ok($objZhP->eq("m\x{300}", "m")); +ok($objZhP->eq("n\x{304}", "n\x{301}")); +ok($objZhP->eq("n\x{301}", "n\x{30C}")); +ok($objZhP->eq("n\x{30C}", "n\x{300}")); +ok($objZhP->eq("n\x{300}", "n")); +ok($objZhP->eq("o\x{304}", "o\x{301}")); +ok($objZhP->eq("o\x{301}", "o\x{30C}")); +ok($objZhP->eq("o\x{30C}", "o\x{300}")); +ok($objZhP->eq("o\x{300}", "o")); +ok($objZhP->eq("u\x{304}", "u\x{301}")); +ok($objZhP->eq("u\x{301}", "u\x{30C}")); +ok($objZhP->eq("u\x{30C}", "u\x{300}")); +ok($objZhP->eq("u\x{300}", "u")); +ok($objZhP->eq("u\x{308}\x{304}", "u\x{308}\x{301}")); +ok($objZhP->eq("u\x{308}\x{301}", "u\x{308}\x{30C}")); +ok($objZhP->eq("u\x{308}\x{30C}", "u\x{308}\x{300}")); +ok($objZhP->eq("u\x{308}\x{300}", "u\x{308}")); + +# 38 + +$objZhP->change(level => 2); + +ok($objZhP->lt("a\x{304}", "a\x{301}")); +ok($objZhP->lt("a\x{301}", "a\x{30C}")); +ok($objZhP->lt("a\x{30C}", "a\x{300}")); +ok($objZhP->lt("a\x{300}", "a")); +ok($objZhP->lt("e\x{304}", "e\x{301}")); +ok($objZhP->lt("e\x{301}", "e\x{30C}")); +ok($objZhP->lt("e\x{30C}", "e\x{300}")); +ok($objZhP->lt("e\x{300}", "e")); +ok($objZhP->lt("e\x{302}\x{304}", "e\x{302}\x{301}")); +ok($objZhP->lt("e\x{302}\x{301}", "e\x{302}\x{30C}")); +ok($objZhP->lt("e\x{302}\x{30C}", "e\x{302}\x{300}")); +ok($objZhP->lt("e\x{302}\x{300}", "e\x{302}")); +ok($objZhP->lt("i\x{304}", "i\x{301}")); +ok($objZhP->lt("i\x{301}", "i\x{30C}")); +ok($objZhP->lt("i\x{30C}", "i\x{300}")); +ok($objZhP->lt("i\x{300}", "i")); +ok($objZhP->lt("m\x{304}", "m\x{301}")); +ok($objZhP->lt("m\x{301}", "m\x{30C}")); +ok($objZhP->lt("m\x{30C}", "m\x{300}")); +ok($objZhP->lt("m\x{300}", "m")); +ok($objZhP->lt("n\x{304}", "n\x{301}")); +ok($objZhP->lt("n\x{301}", "n\x{30C}")); +ok($objZhP->lt("n\x{30C}", "n\x{300}")); +ok($objZhP->lt("n\x{300}", "n")); +ok($objZhP->lt("o\x{304}", "o\x{301}")); +ok($objZhP->lt("o\x{301}", "o\x{30C}")); +ok($objZhP->lt("o\x{30C}", "o\x{300}")); +ok($objZhP->lt("o\x{300}", "o")); +ok($objZhP->lt("u\x{304}", "u\x{301}")); +ok($objZhP->lt("u\x{301}", "u\x{30C}")); +ok($objZhP->lt("u\x{30C}", "u\x{300}")); +ok($objZhP->lt("u\x{300}", "u")); +ok($objZhP->lt("u\x{308}\x{304}", "u\x{308}\x{301}")); +ok($objZhP->lt("u\x{308}\x{301}", "u\x{308}\x{30C}")); +ok($objZhP->lt("u\x{308}\x{30C}", "u\x{308}\x{300}")); +ok($objZhP->lt("u\x{308}\x{300}", "u\x{308}")); + +# 74 + +ok($objZhP->eq("a\x{304}", "A\x{304}")); +ok($objZhP->eq("a\x{301}", "A\x{301}")); +ok($objZhP->eq("a\x{30C}", "A\x{30C}")); +ok($objZhP->eq("a\x{300}", "A\x{300}")); +ok($objZhP->eq("e\x{304}", "E\x{304}")); +ok($objZhP->eq("e\x{301}", "E\x{301}")); +ok($objZhP->eq("e\x{30C}", "E\x{30C}")); +ok($objZhP->eq("e\x{300}", "E\x{300}")); +ok($objZhP->eq("e\x{302}\x{304}", "E\x{302}\x{304}")); +ok($objZhP->eq("e\x{302}\x{301}", "E\x{302}\x{301}")); +ok($objZhP->eq("e\x{302}\x{30C}", "E\x{302}\x{30C}")); +ok($objZhP->eq("e\x{302}\x{300}", "E\x{302}\x{300}")); +ok($objZhP->eq("e\x{302}", "E\x{302}")); +ok($objZhP->eq("i\x{304}", "I\x{304}")); +ok($objZhP->eq("i\x{301}", "I\x{301}")); +ok($objZhP->eq("i\x{30C}", "I\x{30C}")); +ok($objZhP->eq("i\x{300}", "I\x{300}")); +ok($objZhP->eq("m\x{304}", "M\x{304}")); +ok($objZhP->eq("m\x{301}", "M\x{301}")); +ok($objZhP->eq("m\x{30C}", "M\x{30C}")); +ok($objZhP->eq("m\x{300}", "M\x{300}")); +ok($objZhP->eq("n\x{304}", "N\x{304}")); +ok($objZhP->eq("n\x{301}", "N\x{301}")); +ok($objZhP->eq("n\x{30C}", "N\x{30C}")); +ok($objZhP->eq("n\x{300}", "N\x{300}")); +ok($objZhP->eq("o\x{304}", "O\x{304}")); +ok($objZhP->eq("o\x{301}", "O\x{301}")); +ok($objZhP->eq("o\x{30C}", "O\x{30C}")); +ok($objZhP->eq("o\x{300}", "O\x{300}")); +ok($objZhP->eq("u\x{304}", "U\x{304}")); +ok($objZhP->eq("u\x{301}", "U\x{301}")); +ok($objZhP->eq("u\x{30C}", "U\x{30C}")); +ok($objZhP->eq("u\x{300}", "U\x{300}")); +ok($objZhP->eq("u\x{308}\x{304}", "U\x{308}\x{304}")); +ok($objZhP->eq("u\x{308}\x{301}", "U\x{308}\x{301}")); +ok($objZhP->eq("u\x{308}\x{30C}", "U\x{308}\x{30C}")); +ok($objZhP->eq("u\x{308}\x{300}", "U\x{308}\x{300}")); +ok($objZhP->eq("u\x{308}", "U\x{308}")); + +# 112 + +$objZhP->change(level => 3); + +ok($objZhP->lt("a\x{304}", "A\x{304}")); +ok($objZhP->lt("a\x{301}", "A\x{301}")); +ok($objZhP->lt("a\x{30C}", "A\x{30C}")); +ok($objZhP->lt("a\x{300}", "A\x{300}")); +ok($objZhP->lt("e\x{304}", "E\x{304}")); +ok($objZhP->lt("e\x{301}", "E\x{301}")); +ok($objZhP->lt("e\x{30C}", "E\x{30C}")); +ok($objZhP->lt("e\x{300}", "E\x{300}")); +ok($objZhP->lt("e\x{302}\x{304}", "E\x{302}\x{304}")); +ok($objZhP->lt("e\x{302}\x{301}", "E\x{302}\x{301}")); +ok($objZhP->lt("e\x{302}\x{30C}", "E\x{302}\x{30C}")); +ok($objZhP->lt("e\x{302}\x{300}", "E\x{302}\x{300}")); +ok($objZhP->lt("e\x{302}", "E\x{302}")); +ok($objZhP->lt("i\x{304}", "I\x{304}")); +ok($objZhP->lt("i\x{301}", "I\x{301}")); +ok($objZhP->lt("i\x{30C}", "I\x{30C}")); +ok($objZhP->lt("i\x{300}", "I\x{300}")); +ok($objZhP->lt("m\x{304}", "M\x{304}")); +ok($objZhP->lt("m\x{301}", "M\x{301}")); +ok($objZhP->lt("m\x{30C}", "M\x{30C}")); +ok($objZhP->lt("m\x{300}", "M\x{300}")); +ok($objZhP->lt("n\x{304}", "N\x{304}")); +ok($objZhP->lt("n\x{301}", "N\x{301}")); +ok($objZhP->lt("n\x{30C}", "N\x{30C}")); +ok($objZhP->lt("n\x{300}", "N\x{300}")); +ok($objZhP->lt("o\x{304}", "O\x{304}")); +ok($objZhP->lt("o\x{301}", "O\x{301}")); +ok($objZhP->lt("o\x{30C}", "O\x{30C}")); +ok($objZhP->lt("o\x{300}", "O\x{300}")); +ok($objZhP->lt("u\x{304}", "U\x{304}")); +ok($objZhP->lt("u\x{301}", "U\x{301}")); +ok($objZhP->lt("u\x{30C}", "U\x{30C}")); +ok($objZhP->lt("u\x{300}", "U\x{300}")); +ok($objZhP->lt("u\x{308}\x{304}", "U\x{308}\x{304}")); +ok($objZhP->lt("u\x{308}\x{301}", "U\x{308}\x{301}")); +ok($objZhP->lt("u\x{308}\x{30C}", "U\x{308}\x{30C}")); +ok($objZhP->lt("u\x{308}\x{300}", "U\x{308}\x{300}")); +ok($objZhP->lt("u\x{308}", "U\x{308}")); + +# 150 + +ok($objZhP->eq("a\x{304}", "\x{101}")); +ok($objZhP->eq("A\x{304}", "\x{100}")); +ok($objZhP->eq("a\x{301}", pack('U', 0xE1))); +ok($objZhP->eq("a\x{301}", "a\x{341}")); +ok($objZhP->eq("A\x{301}", pack('U', 0xC1))); +ok($objZhP->eq("A\x{301}", "A\x{341}")); +ok($objZhP->eq("a\x{30C}", "\x{1CE}")); +ok($objZhP->eq("A\x{30C}", "\x{1CD}")); +ok($objZhP->eq("a\x{300}", pack('U', 0xE0))); +ok($objZhP->eq("a\x{300}", "a\x{340}")); +ok($objZhP->eq("A\x{300}", pack('U', 0xC0))); +ok($objZhP->eq("A\x{300}", "A\x{340}")); +ok($objZhP->eq("e\x{304}", "\x{113}")); +ok($objZhP->eq("E\x{304}", "\x{112}")); +ok($objZhP->eq("e\x{301}", pack('U', 0xE9))); +ok($objZhP->eq("e\x{301}", "e\x{341}")); +ok($objZhP->eq("E\x{301}", pack('U', 0xC9))); +ok($objZhP->eq("E\x{301}", "E\x{341}")); +ok($objZhP->eq("e\x{30C}", "\x{11B}")); +ok($objZhP->eq("E\x{30C}", "\x{11A}")); +ok($objZhP->eq("e\x{300}", pack('U', 0xE8))); +ok($objZhP->eq("e\x{300}", "e\x{340}")); +ok($objZhP->eq("E\x{300}", pack('U', 0xC8))); +ok($objZhP->eq("E\x{300}", "E\x{340}")); +ok($objZhP->eq("e\x{302}\x{304}", pack('U*', 0xEA, 0x304))); +ok($objZhP->eq("E\x{302}\x{304}", pack('U*', 0xCA, 0x304))); +ok($objZhP->eq("e\x{302}\x{301}", "\x{1EBF}")); +ok($objZhP->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301))); +ok($objZhP->eq("e\x{302}\x{301}", "e\x{302}\x{341}")); +ok($objZhP->eq("E\x{302}\x{301}", "\x{1EBE}")); +ok($objZhP->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x301))); +ok($objZhP->eq("E\x{302}\x{301}", "E\x{302}\x{341}")); +ok($objZhP->eq("e\x{302}\x{30C}", pack('U*', 0xEA, 0x30C))); +ok($objZhP->eq("E\x{302}\x{30C}", pack('U*', 0xCA, 0x30C))); +ok($objZhP->eq("e\x{302}\x{300}", "\x{1EC1}")); +ok($objZhP->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300))); +ok($objZhP->eq("e\x{302}\x{300}", "e\x{302}\x{340}")); +ok($objZhP->eq("E\x{302}\x{300}", "\x{1EC0}")); +ok($objZhP->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x300))); +ok($objZhP->eq("E\x{302}\x{300}", "E\x{302}\x{340}")); +ok($objZhP->eq("e\x{302}", pack('U', 0xEA))); +ok($objZhP->eq("E\x{302}", pack('U', 0xCA))); +ok($objZhP->eq("i\x{304}", "\x{12B}")); +ok($objZhP->eq("I\x{304}", "\x{12A}")); +ok($objZhP->eq("i\x{301}", pack('U', 0xED))); +ok($objZhP->eq("i\x{301}", "i\x{341}")); +ok($objZhP->eq("I\x{301}", pack('U', 0xCD))); +ok($objZhP->eq("I\x{301}", "I\x{341}")); +ok($objZhP->eq("i\x{30C}", "\x{1D0}")); +ok($objZhP->eq("I\x{30C}", "\x{1CF}")); +ok($objZhP->eq("i\x{300}", pack('U', 0xEC))); +ok($objZhP->eq("i\x{300}", "i\x{340}")); +ok($objZhP->eq("I\x{300}", pack('U', 0xCC))); +ok($objZhP->eq("I\x{300}", "I\x{340}")); +ok($objZhP->eq("m\x{301}", "\x{1E3F}")); +ok($objZhP->eq("m\x{301}", "m\x{341}")); +ok($objZhP->eq("M\x{301}", "\x{1E3E}")); +ok($objZhP->eq("M\x{301}", "M\x{341}")); +ok($objZhP->eq("m\x{300}", "m\x{340}")); +ok($objZhP->eq("M\x{300}", "M\x{340}")); +ok($objZhP->eq("n\x{301}", "\x{144}")); +ok($objZhP->eq("n\x{301}", "n\x{341}")); +ok($objZhP->eq("N\x{301}", "\x{143}")); +ok($objZhP->eq("N\x{301}", "N\x{341}")); +ok($objZhP->eq("n\x{30C}", "\x{148}")); +ok($objZhP->eq("N\x{30C}", "\x{147}")); +ok($objZhP->eq("n\x{300}", "\x{1F9}")); +ok($objZhP->eq("n\x{300}", "n\x{340}")); +ok($objZhP->eq("N\x{300}", "\x{1F8}")); +ok($objZhP->eq("N\x{300}", "N\x{340}")); +ok($objZhP->eq("o\x{304}", "\x{14D}")); +ok($objZhP->eq("O\x{304}", "\x{14C}")); +ok($objZhP->eq("o\x{301}", pack('U', 0xF3))); +ok($objZhP->eq("o\x{301}", "o\x{341}")); +ok($objZhP->eq("O\x{301}", pack('U', 0xD3))); +ok($objZhP->eq("O\x{301}", "O\x{341}")); +ok($objZhP->eq("o\x{30C}", "\x{1D2}")); +ok($objZhP->eq("O\x{30C}", "\x{1D1}")); +ok($objZhP->eq("o\x{300}", pack('U', 0xF2))); +ok($objZhP->eq("o\x{300}", "o\x{340}")); +ok($objZhP->eq("O\x{300}", pack('U', 0xD2))); +ok($objZhP->eq("O\x{300}", "O\x{340}")); +ok($objZhP->eq("u\x{304}", "\x{16B}")); +ok($objZhP->eq("U\x{304}", "\x{16A}")); +ok($objZhP->eq("u\x{301}", pack('U', 0xFA))); +ok($objZhP->eq("u\x{301}", "u\x{341}")); +ok($objZhP->eq("U\x{301}", pack('U', 0xDA))); +ok($objZhP->eq("U\x{301}", "U\x{341}")); +ok($objZhP->eq("u\x{30C}", "\x{1D4}")); +ok($objZhP->eq("U\x{30C}", "\x{1D3}")); +ok($objZhP->eq("u\x{300}", pack('U', 0xF9))); +ok($objZhP->eq("u\x{300}", "u\x{340}")); +ok($objZhP->eq("U\x{300}", pack('U', 0xD9))); +ok($objZhP->eq("U\x{300}", "U\x{340}")); +ok($objZhP->eq("u\x{308}\x{304}", "\x{1D6}")); +ok($objZhP->eq("u\x{308}\x{304}", pack('U*', 0xFC, 0x304))); +ok($objZhP->eq("U\x{308}\x{304}", "\x{1D5}")); +ok($objZhP->eq("U\x{308}\x{304}", pack('U*', 0xDC, 0x304))); +ok($objZhP->eq("u\x{308}\x{301}", "\x{1D8}")); +ok($objZhP->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301))); +ok($objZhP->eq("u\x{308}\x{301}", "u\x{308}\x{341}")); +ok($objZhP->eq("U\x{308}\x{301}", "\x{1D7}")); +ok($objZhP->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x301))); +ok($objZhP->eq("U\x{308}\x{301}", "U\x{308}\x{341}")); +ok($objZhP->eq("u\x{308}\x{30C}", "\x{1DA}")); +ok($objZhP->eq("u\x{308}\x{30C}", pack('U*', 0xFC, 0x30C))); +ok($objZhP->eq("U\x{308}\x{30C}", "\x{1D9}")); +ok($objZhP->eq("U\x{308}\x{30C}", pack('U*', 0xDC, 0x30C))); +ok($objZhP->eq("u\x{308}\x{300}", "\x{1DC}")); +ok($objZhP->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300))); +ok($objZhP->eq("u\x{308}\x{300}", "u\x{308}\x{340}")); +ok($objZhP->eq("U\x{308}\x{300}", "\x{1DB}")); +ok($objZhP->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x300))); +ok($objZhP->eq("U\x{308}\x{300}", "U\x{308}\x{340}")); +ok($objZhP->eq("u\x{308}", pack('U', 0xFC))); +ok($objZhP->eq("U\x{308}", pack('U', 0xDC))); + +# 266 + +ok($objZhP->eq("e\x{302}\x{303}", "\x{1EC5}")); +ok($objZhP->eq("E\x{302}\x{303}", "\x{1EC4}")); +ok($objZhP->eq("e\x{302}\x{309}", "\x{1EC3}")); +ok($objZhP->eq("E\x{302}\x{309}", "\x{1EC2}")); +ok($objZhP->eq("e\x{302}\x{323}", "\x{1EC7}")); +ok($objZhP->eq("E\x{302}\x{323}", "\x{1EC6}")); + +# 272 + +$objZhP->change(level => 1); + +ok($objZhP->lt("\x{A000}", "\x{3105}")); + +ok($objZhP->lt("\x{3105}", "\x{3106}")); +ok($objZhP->lt("\x{3106}", "\x{3128}")); +ok($objZhP->lt("\x{3128}", "\x{3129}")); +ok($objZhP->lt("\x{3129}", "\x{5416}")); +ok($objZhP->lt("\x{5416}", "\x{963F}")); +ok($objZhP->lt("\x{963F}", "\x{554A}")); +ok($objZhP->lt("\x{554A}", "\x{9515}")); +ok($objZhP->lt("\x{9515}", "\x{9312}")); +ok($objZhP->lt("\x{9312}", "\x{55C4}")); +ok($objZhP->lt("\x{55C4}", "\x{5391}")); +ok($objZhP->lt("\x{5391}", "\x{54CE}")); +ok($objZhP->lt("\x{54CE}", "\x{54C0}")); +ok($objZhP->lt("\x{54C0}", "\x{5509}")); +ok($objZhP->lt("\x{5509}", "\x{57C3}")); + +ok($objZhP->lt("\x{57C3}", "\x{4E00}")); +ok($objZhP->lt("\x{4E00}", "\x{8331}")); + +ok($objZhP->lt("\x{8331}", "\x{682A}")); +ok($objZhP->lt("\x{682A}", "\x{3231}")); +ok($objZhP->lt("\x{3231}", "\x{73E0}")); +ok($objZhP->lt("\x{73E0}", "\x{8BF8}")); + +ok($objZhP->lt("\x{5EA7}", "\x{888F}")); +ok($objZhP->lt("\x{888F}", "\x{505A}")); +ok($objZhP->lt("\x{505A}", "\x{8444}")); +ok($objZhP->lt("\x{8444}", "\x{84D9}")); +ok($objZhP->lt("\x{84D9}", "\x{98F5}")); +ok($objZhP->lt("\x{98F5}", "\x{7CF3}")); +ok($objZhP->lt("\x{7CF3}", "\x{5497}")); + +# 300 diff --git a/cpan/Unicode-Collate/t/loc_zhst.t b/cpan/Unicode-Collate/t/loc_zhst.t new file mode 100644 index 0000000000..2ca464917c --- /dev/null +++ b/cpan/Unicode-Collate/t/loc_zhst.t @@ -0,0 +1,333 @@ +#!perl +use strict; +use warnings; +use Unicode::Collate::Locale; + +use Test; +plan tests => 291; + +my $objZhS = Unicode::Collate::Locale-> + new(locale => 'ZH__stroke', normalization => undef); + +ok(1); +ok($objZhS->getlocale, 'zh__stroke'); + +$objZhS->change(level => 1); + +ok($objZhS->eq("a\x{304}", "a\x{301}")); +ok($objZhS->eq("a\x{301}", "a\x{30C}")); +ok($objZhS->eq("a\x{30C}", "a\x{300}")); +ok($objZhS->eq("a\x{300}", "a")); +ok($objZhS->eq("e\x{304}", "e\x{301}")); +ok($objZhS->eq("e\x{301}", "e\x{30C}")); +ok($objZhS->eq("e\x{30C}", "e\x{300}")); +ok($objZhS->eq("e\x{300}", "e")); +ok($objZhS->eq("e\x{302}\x{304}", "e\x{302}\x{301}")); +ok($objZhS->eq("e\x{302}\x{301}", "e\x{302}\x{30C}")); +ok($objZhS->eq("e\x{302}\x{30C}", "e\x{302}\x{300}")); +ok($objZhS->eq("e\x{302}\x{300}", "e\x{302}")); +ok($objZhS->eq("i\x{304}", "i\x{301}")); +ok($objZhS->eq("i\x{301}", "i\x{30C}")); +ok($objZhS->eq("i\x{30C}", "i\x{300}")); +ok($objZhS->eq("i\x{300}", "i")); +ok($objZhS->eq("m\x{304}", "m\x{301}")); +ok($objZhS->eq("m\x{301}", "m\x{30C}")); +ok($objZhS->eq("m\x{30C}", "m\x{300}")); +ok($objZhS->eq("m\x{300}", "m")); +ok($objZhS->eq("n\x{304}", "n\x{301}")); +ok($objZhS->eq("n\x{301}", "n\x{30C}")); +ok($objZhS->eq("n\x{30C}", "n\x{300}")); +ok($objZhS->eq("n\x{300}", "n")); +ok($objZhS->eq("o\x{304}", "o\x{301}")); +ok($objZhS->eq("o\x{301}", "o\x{30C}")); +ok($objZhS->eq("o\x{30C}", "o\x{300}")); +ok($objZhS->eq("o\x{300}", "o")); +ok($objZhS->eq("u\x{304}", "u\x{301}")); +ok($objZhS->eq("u\x{301}", "u\x{30C}")); +ok($objZhS->eq("u\x{30C}", "u\x{300}")); +ok($objZhS->eq("u\x{300}", "u")); +ok($objZhS->eq("u\x{308}\x{304}", "u\x{308}\x{301}")); +ok($objZhS->eq("u\x{308}\x{301}", "u\x{308}\x{30C}")); +ok($objZhS->eq("u\x{308}\x{30C}", "u\x{308}\x{300}")); +ok($objZhS->eq("u\x{308}\x{300}", "u\x{308}")); + +# 38 + +$objZhS->change(level => 2); + +ok($objZhS->lt("a\x{304}", "a\x{301}")); +ok($objZhS->lt("a\x{301}", "a\x{30C}")); +ok($objZhS->lt("a\x{30C}", "a\x{300}")); +ok($objZhS->lt("a\x{300}", "a")); +ok($objZhS->lt("e\x{304}", "e\x{301}")); +ok($objZhS->lt("e\x{301}", "e\x{30C}")); +ok($objZhS->lt("e\x{30C}", "e\x{300}")); +ok($objZhS->lt("e\x{300}", "e")); +ok($objZhS->lt("e\x{302}\x{304}", "e\x{302}\x{301}")); +ok($objZhS->lt("e\x{302}\x{301}", "e\x{302}\x{30C}")); +ok($objZhS->lt("e\x{302}\x{30C}", "e\x{302}\x{300}")); +ok($objZhS->lt("e\x{302}\x{300}", "e\x{302}")); +ok($objZhS->lt("i\x{304}", "i\x{301}")); +ok($objZhS->lt("i\x{301}", "i\x{30C}")); +ok($objZhS->lt("i\x{30C}", "i\x{300}")); +ok($objZhS->lt("i\x{300}", "i")); +ok($objZhS->lt("m\x{304}", "m\x{301}")); +ok($objZhS->lt("m\x{301}", "m\x{30C}")); +ok($objZhS->lt("m\x{30C}", "m\x{300}")); +ok($objZhS->lt("m\x{300}", "m")); +ok($objZhS->lt("n\x{304}", "n\x{301}")); +ok($objZhS->lt("n\x{301}", "n\x{30C}")); +ok($objZhS->lt("n\x{30C}", "n\x{300}")); +ok($objZhS->lt("n\x{300}", "n")); +ok($objZhS->lt("o\x{304}", "o\x{301}")); +ok($objZhS->lt("o\x{301}", "o\x{30C}")); +ok($objZhS->lt("o\x{30C}", "o\x{300}")); +ok($objZhS->lt("o\x{300}", "o")); +ok($objZhS->lt("u\x{304}", "u\x{301}")); +ok($objZhS->lt("u\x{301}", "u\x{30C}")); +ok($objZhS->lt("u\x{30C}", "u\x{300}")); +ok($objZhS->lt("u\x{300}", "u")); +ok($objZhS->lt("u\x{308}\x{304}", "u\x{308}\x{301}")); +ok($objZhS->lt("u\x{308}\x{301}", "u\x{308}\x{30C}")); +ok($objZhS->lt("u\x{308}\x{30C}", "u\x{308}\x{300}")); +ok($objZhS->lt("u\x{308}\x{300}", "u\x{308}")); + +# 74 + +ok($objZhS->eq("a\x{304}", "A\x{304}")); +ok($objZhS->eq("a\x{301}", "A\x{301}")); +ok($objZhS->eq("a\x{30C}", "A\x{30C}")); +ok($objZhS->eq("a\x{300}", "A\x{300}")); +ok($objZhS->eq("e\x{304}", "E\x{304}")); +ok($objZhS->eq("e\x{301}", "E\x{301}")); +ok($objZhS->eq("e\x{30C}", "E\x{30C}")); +ok($objZhS->eq("e\x{300}", "E\x{300}")); +ok($objZhS->eq("e\x{302}\x{304}", "E\x{302}\x{304}")); +ok($objZhS->eq("e\x{302}\x{301}", "E\x{302}\x{301}")); +ok($objZhS->eq("e\x{302}\x{30C}", "E\x{302}\x{30C}")); +ok($objZhS->eq("e\x{302}\x{300}", "E\x{302}\x{300}")); +ok($objZhS->eq("e\x{302}", "E\x{302}")); +ok($objZhS->eq("i\x{304}", "I\x{304}")); +ok($objZhS->eq("i\x{301}", "I\x{301}")); +ok($objZhS->eq("i\x{30C}", "I\x{30C}")); +ok($objZhS->eq("i\x{300}", "I\x{300}")); +ok($objZhS->eq("m\x{304}", "M\x{304}")); +ok($objZhS->eq("m\x{301}", "M\x{301}")); +ok($objZhS->eq("m\x{30C}", "M\x{30C}")); +ok($objZhS->eq("m\x{300}", "M\x{300}")); +ok($objZhS->eq("n\x{304}", "N\x{304}")); +ok($objZhS->eq("n\x{301}", "N\x{301}")); +ok($objZhS->eq("n\x{30C}", "N\x{30C}")); +ok($objZhS->eq("n\x{300}", "N\x{300}")); +ok($objZhS->eq("o\x{304}", "O\x{304}")); +ok($objZhS->eq("o\x{301}", "O\x{301}")); +ok($objZhS->eq("o\x{30C}", "O\x{30C}")); +ok($objZhS->eq("o\x{300}", "O\x{300}")); +ok($objZhS->eq("u\x{304}", "U\x{304}")); +ok($objZhS->eq("u\x{301}", "U\x{301}")); +ok($objZhS->eq("u\x{30C}", "U\x{30C}")); +ok($objZhS->eq("u\x{300}", "U\x{300}")); +ok($objZhS->eq("u\x{308}\x{304}", "U\x{308}\x{304}")); +ok($objZhS->eq("u\x{308}\x{301}", "U\x{308}\x{301}")); +ok($objZhS->eq("u\x{308}\x{30C}", "U\x{308}\x{30C}")); +ok($objZhS->eq("u\x{308}\x{300}", "U\x{308}\x{300}")); +ok($objZhS->eq("u\x{308}", "U\x{308}")); + +# 112 + +$objZhS->change(level => 3); + +ok($objZhS->lt("a\x{304}", "A\x{304}")); +ok($objZhS->lt("a\x{301}", "A\x{301}")); +ok($objZhS->lt("a\x{30C}", "A\x{30C}")); +ok($objZhS->lt("a\x{300}", "A\x{300}")); +ok($objZhS->lt("e\x{304}", "E\x{304}")); +ok($objZhS->lt("e\x{301}", "E\x{301}")); +ok($objZhS->lt("e\x{30C}", "E\x{30C}")); +ok($objZhS->lt("e\x{300}", "E\x{300}")); +ok($objZhS->lt("e\x{302}\x{304}", "E\x{302}\x{304}")); +ok($objZhS->lt("e\x{302}\x{301}", "E\x{302}\x{301}")); +ok($objZhS->lt("e\x{302}\x{30C}", "E\x{302}\x{30C}")); +ok($objZhS->lt("e\x{302}\x{300}", "E\x{302}\x{300}")); +ok($objZhS->lt("e\x{302}", "E\x{302}")); +ok($objZhS->lt("i\x{304}", "I\x{304}")); +ok($objZhS->lt("i\x{301}", "I\x{301}")); +ok($objZhS->lt("i\x{30C}", "I\x{30C}")); +ok($objZhS->lt("i\x{300}", "I\x{300}")); +ok($objZhS->lt("m\x{304}", "M\x{304}")); +ok($objZhS->lt("m\x{301}", "M\x{301}")); +ok($objZhS->lt("m\x{30C}", "M\x{30C}")); +ok($objZhS->lt("m\x{300}", "M\x{300}")); +ok($objZhS->lt("n\x{304}", "N\x{304}")); +ok($objZhS->lt("n\x{301}", "N\x{301}")); +ok($objZhS->lt("n\x{30C}", "N\x{30C}")); +ok($objZhS->lt("n\x{300}", "N\x{300}")); +ok($objZhS->lt("o\x{304}", "O\x{304}")); +ok($objZhS->lt("o\x{301}", "O\x{301}")); +ok($objZhS->lt("o\x{30C}", "O\x{30C}")); +ok($objZhS->lt("o\x{300}", "O\x{300}")); +ok($objZhS->lt("u\x{304}", "U\x{304}")); +ok($objZhS->lt("u\x{301}", "U\x{301}")); +ok($objZhS->lt("u\x{30C}", "U\x{30C}")); +ok($objZhS->lt("u\x{300}", "U\x{300}")); +ok($objZhS->lt("u\x{308}\x{304}", "U\x{308}\x{304}")); +ok($objZhS->lt("u\x{308}\x{301}", "U\x{308}\x{301}")); +ok($objZhS->lt("u\x{308}\x{30C}", "U\x{308}\x{30C}")); +ok($objZhS->lt("u\x{308}\x{300}", "U\x{308}\x{300}")); +ok($objZhS->lt("u\x{308}", "U\x{308}")); + +# 150 + +ok($objZhS->eq("a\x{304}", "\x{101}")); +ok($objZhS->eq("A\x{304}", "\x{100}")); +ok($objZhS->eq("a\x{301}", pack('U', 0xE1))); +ok($objZhS->eq("a\x{301}", "a\x{341}")); +ok($objZhS->eq("A\x{301}", pack('U', 0xC1))); +ok($objZhS->eq("A\x{301}", "A\x{341}")); +ok($objZhS->eq("a\x{30C}", "\x{1CE}")); +ok($objZhS->eq("A\x{30C}", "\x{1CD}")); +ok($objZhS->eq("a\x{300}", pack('U', 0xE0))); +ok($objZhS->eq("a\x{300}", "a\x{340}")); +ok($objZhS->eq("A\x{300}", pack('U', 0xC0))); +ok($objZhS->eq("A\x{300}", "A\x{340}")); +ok($objZhS->eq("e\x{304}", "\x{113}")); +ok($objZhS->eq("E\x{304}", "\x{112}")); +ok($objZhS->eq("e\x{301}", pack('U', 0xE9))); +ok($objZhS->eq("e\x{301}", "e\x{341}")); +ok($objZhS->eq("E\x{301}", pack('U', 0xC9))); +ok($objZhS->eq("E\x{301}", "E\x{341}")); +ok($objZhS->eq("e\x{30C}", "\x{11B}")); +ok($objZhS->eq("E\x{30C}", "\x{11A}")); +ok($objZhS->eq("e\x{300}", pack('U', 0xE8))); +ok($objZhS->eq("e\x{300}", "e\x{340}")); +ok($objZhS->eq("E\x{300}", pack('U', 0xC8))); +ok($objZhS->eq("E\x{300}", "E\x{340}")); +ok($objZhS->eq("e\x{302}\x{304}", pack('U*', 0xEA, 0x304))); +ok($objZhS->eq("E\x{302}\x{304}", pack('U*', 0xCA, 0x304))); +ok($objZhS->eq("e\x{302}\x{301}", "\x{1EBF}")); +ok($objZhS->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301))); +ok($objZhS->eq("e\x{302}\x{301}", "e\x{302}\x{341}")); +ok($objZhS->eq("E\x{302}\x{301}", "\x{1EBE}")); +ok($objZhS->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x301))); +ok($objZhS->eq("E\x{302}\x{301}", "E\x{302}\x{341}")); +ok($objZhS->eq("e\x{302}\x{30C}", pack('U*', 0xEA, 0x30C))); +ok($objZhS->eq("E\x{302}\x{30C}", pack('U*', 0xCA, 0x30C))); +ok($objZhS->eq("e\x{302}\x{300}", "\x{1EC1}")); +ok($objZhS->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300))); +ok($objZhS->eq("e\x{302}\x{300}", "e\x{302}\x{340}")); +ok($objZhS->eq("E\x{302}\x{300}", "\x{1EC0}")); +ok($objZhS->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x300))); +ok($objZhS->eq("E\x{302}\x{300}", "E\x{302}\x{340}")); +ok($objZhS->eq("e\x{302}", pack('U', 0xEA))); +ok($objZhS->eq("E\x{302}", pack('U', 0xCA))); +ok($objZhS->eq("i\x{304}", "\x{12B}")); +ok($objZhS->eq("I\x{304}", "\x{12A}")); +ok($objZhS->eq("i\x{301}", pack('U', 0xED))); +ok($objZhS->eq("i\x{301}", "i\x{341}")); +ok($objZhS->eq("I\x{301}", pack('U', 0xCD))); +ok($objZhS->eq("I\x{301}", "I\x{341}")); +ok($objZhS->eq("i\x{30C}", "\x{1D0}")); +ok($objZhS->eq("I\x{30C}", "\x{1CF}")); +ok($objZhS->eq("i\x{300}", pack('U', 0xEC))); +ok($objZhS->eq("i\x{300}", "i\x{340}")); +ok($objZhS->eq("I\x{300}", pack('U', 0xCC))); +ok($objZhS->eq("I\x{300}", "I\x{340}")); +ok($objZhS->eq("m\x{301}", "\x{1E3F}")); +ok($objZhS->eq("m\x{301}", "m\x{341}")); +ok($objZhS->eq("M\x{301}", "\x{1E3E}")); +ok($objZhS->eq("M\x{301}", "M\x{341}")); +ok($objZhS->eq("m\x{300}", "m\x{340}")); +ok($objZhS->eq("M\x{300}", "M\x{340}")); +ok($objZhS->eq("n\x{301}", "\x{144}")); +ok($objZhS->eq("n\x{301}", "n\x{341}")); +ok($objZhS->eq("N\x{301}", "\x{143}")); +ok($objZhS->eq("N\x{301}", "N\x{341}")); +ok($objZhS->eq("n\x{30C}", "\x{148}")); +ok($objZhS->eq("N\x{30C}", "\x{147}")); +ok($objZhS->eq("n\x{300}", "\x{1F9}")); +ok($objZhS->eq("n\x{300}", "n\x{340}")); +ok($objZhS->eq("N\x{300}", "\x{1F8}")); +ok($objZhS->eq("N\x{300}", "N\x{340}")); +ok($objZhS->eq("o\x{304}", "\x{14D}")); +ok($objZhS->eq("O\x{304}", "\x{14C}")); +ok($objZhS->eq("o\x{301}", pack('U', 0xF3))); +ok($objZhS->eq("o\x{301}", "o\x{341}")); +ok($objZhS->eq("O\x{301}", pack('U', 0xD3))); +ok($objZhS->eq("O\x{301}", "O\x{341}")); +ok($objZhS->eq("o\x{30C}", "\x{1D2}")); +ok($objZhS->eq("O\x{30C}", "\x{1D1}")); +ok($objZhS->eq("o\x{300}", pack('U', 0xF2))); +ok($objZhS->eq("o\x{300}", "o\x{340}")); +ok($objZhS->eq("O\x{300}", pack('U', 0xD2))); +ok($objZhS->eq("O\x{300}", "O\x{340}")); +ok($objZhS->eq("u\x{304}", "\x{16B}")); +ok($objZhS->eq("U\x{304}", "\x{16A}")); +ok($objZhS->eq("u\x{301}", pack('U', 0xFA))); +ok($objZhS->eq("u\x{301}", "u\x{341}")); +ok($objZhS->eq("U\x{301}", pack('U', 0xDA))); +ok($objZhS->eq("U\x{301}", "U\x{341}")); +ok($objZhS->eq("u\x{30C}", "\x{1D4}")); +ok($objZhS->eq("U\x{30C}", "\x{1D3}")); +ok($objZhS->eq("u\x{300}", pack('U', 0xF9))); +ok($objZhS->eq("u\x{300}", "u\x{340}")); +ok($objZhS->eq("U\x{300}", pack('U', 0xD9))); +ok($objZhS->eq("U\x{300}", "U\x{340}")); +ok($objZhS->eq("u\x{308}\x{304}", "\x{1D6}")); +ok($objZhS->eq("u\x{308}\x{304}", pack('U*', 0xFC, 0x304))); +ok($objZhS->eq("U\x{308}\x{304}", "\x{1D5}")); +ok($objZhS->eq("U\x{308}\x{304}", pack('U*', 0xDC, 0x304))); +ok($objZhS->eq("u\x{308}\x{301}", "\x{1D8}")); +ok($objZhS->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301))); +ok($objZhS->eq("u\x{308}\x{301}", "u\x{308}\x{341}")); +ok($objZhS->eq("U\x{308}\x{301}", "\x{1D7}")); +ok($objZhS->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x301))); +ok($objZhS->eq("U\x{308}\x{301}", "U\x{308}\x{341}")); +ok($objZhS->eq("u\x{308}\x{30C}", "\x{1DA}")); +ok($objZhS->eq("u\x{308}\x{30C}", pack('U*', 0xFC, 0x30C))); +ok($objZhS->eq("U\x{308}\x{30C}", "\x{1D9}")); +ok($objZhS->eq("U\x{308}\x{30C}", pack('U*', 0xDC, 0x30C))); +ok($objZhS->eq("u\x{308}\x{300}", "\x{1DC}")); +ok($objZhS->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300))); +ok($objZhS->eq("u\x{308}\x{300}", "u\x{308}\x{340}")); +ok($objZhS->eq("U\x{308}\x{300}", "\x{1DB}")); +ok($objZhS->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x300))); +ok($objZhS->eq("U\x{308}\x{300}", "U\x{308}\x{340}")); +ok($objZhS->eq("u\x{308}", pack('U', 0xFC))); +ok($objZhS->eq("U\x{308}", pack('U', 0xDC))); + +# 266 + +ok($objZhS->eq("e\x{302}\x{303}", "\x{1EC5}")); +ok($objZhS->eq("E\x{302}\x{303}", "\x{1EC4}")); +ok($objZhS->eq("e\x{302}\x{309}", "\x{1EC3}")); +ok($objZhS->eq("E\x{302}\x{309}", "\x{1EC2}")); +ok($objZhS->eq("e\x{302}\x{323}", "\x{1EC7}")); +ok($objZhS->eq("E\x{302}\x{323}", "\x{1EC6}")); + +# 272 + +$objZhS->change(level => 1); + +ok($objZhS->lt("\x{A000}", "\x{4E00}")); + +ok($objZhS->lt("\x{4E00}", "\x{4E59}")); +ok($objZhS->lt("\x{4E59}", "\x{4E01}")); +ok($objZhS->lt("\x{4E01}", "\x{4E03}")); +ok($objZhS->lt("\x{4E03}", "\x{4E43}")); +ok($objZhS->lt("\x{4E43}", "\x{4E5D}")); +ok($objZhS->lt("\x{4E5D}", "\x{4E86}")); +ok($objZhS->lt("\x{4E86}", "\x{4E8C}")); +ok($objZhS->lt("\x{4E8C}", "\x{4EBA}")); +ok($objZhS->lt("\x{4EBA}", "\x{513F}")); +ok($objZhS->lt("\x{513F}", "\x{5165}")); + +ok($objZhS->lt("\x{9E1D}", "\x{7069}")); +ok($objZhS->lt("\x{7069}", "\x{7C72}")); +ok($objZhS->lt("\x{7C72}", "\x{706A}")); +ok($objZhS->lt("\x{706A}", "\x{7229}")); +ok($objZhS->lt("\x{7229}", "\x{9EA4}")); +ok($objZhS->lt("\x{9EA4}", "\x{9F7E}")); +ok($objZhS->lt("\x{9F7E}", "\x{9F49}")); +ok($objZhS->lt("\x{9F49}", "\x{9F98}")); + +# 291 |