summaryrefslogtreecommitdiff
path: root/cpan/Unicode-Collate/t
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2011-10-23 20:08:59 +0100
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2011-10-23 20:08:59 +0100
commita47fb3fe38908e128b5862faaa5d3e073107b699 (patch)
tree6ecd6f8c6fcb6672ca6f9bbadd64dd8be0b63d74 /cpan/Unicode-Collate/t
parent6f8c21fa7422855ef46377a32205309a82dfd53f (diff)
downloadperl-a47fb3fe38908e128b5862faaa5d3e073107b699.tar.gz
Update Unicode-Collate to CPAN version 0.81
[DELTA] 0.81 Sun Oct 23 21:32:36 2011 - U::C::Locale newly supports locales: ml, mr, or, pa. - added loc_ml.t, loc_mr.t, loc_or.t, loc_pa.t in t. - updated some locales to CLDR 2.0 : mk, mt, nb, nn, ro, ru.
Diffstat (limited to 'cpan/Unicode-Collate/t')
-rw-r--r--cpan/Unicode-Collate/t/iglevel2.t4
-rw-r--r--cpan/Unicode-Collate/t/ignor.t18
-rw-r--r--cpan/Unicode-Collate/t/loc_kn.t10
-rw-r--r--cpan/Unicode-Collate/t/loc_mk.t194
-rw-r--r--cpan/Unicode-Collate/t/loc_ml.t86
-rw-r--r--cpan/Unicode-Collate/t/loc_mr.t56
-rw-r--r--cpan/Unicode-Collate/t/loc_mt.t4
-rw-r--r--cpan/Unicode-Collate/t/loc_nb.t20
-rw-r--r--cpan/Unicode-Collate/t/loc_nn.t20
-rw-r--r--cpan/Unicode-Collate/t/loc_or.t45
-rw-r--r--cpan/Unicode-Collate/t/loc_pa.t88
-rw-r--r--cpan/Unicode-Collate/t/loc_ro.t4
-rw-r--r--cpan/Unicode-Collate/t/loc_ru.t178
-rw-r--r--cpan/Unicode-Collate/t/rearrang.t36
14 files changed, 551 insertions, 212 deletions
diff --git a/cpan/Unicode-Collate/t/iglevel2.t b/cpan/Unicode-Collate/t/iglevel2.t
index f9fdbe0658..75915ff979 100644
--- a/cpan/Unicode-Collate/t/iglevel2.t
+++ b/cpan/Unicode-Collate/t/iglevel2.t
@@ -80,8 +80,8 @@ ok($Collator->eq("camel", "came\x{1B01}l"));
ok($Collator->eq("camel", "came\x{1B02}l"));
# primary: 1900 isn't zero
-ok($Collator->lt("\x{03C6}", "\x{03D5}"));
-ok($Collator->lt("\x{03D5}", "\x{03A6}"));
+ok($Collator->lt("\x{3C6}", "\x{3D5}"));
+ok($Collator->lt("\x{3D5}", "\x{3A6}"));
# 24
diff --git a/cpan/Unicode-Collate/t/ignor.t b/cpan/Unicode-Collate/t/ignor.t
index 13defcc543..693bbfe0d0 100644
--- a/cpan/Unicode-Collate/t/ignor.t
+++ b/cpan/Unicode-Collate/t/ignor.t
@@ -119,10 +119,10 @@ ENTRIES
ok($L3ignorable->lt("\cA", "!"));
ok($L3ignorable->lt("\x{591}", "!"));
ok($L3ignorable->eq("\cA", "\x{591}"));
-ok($L3ignorable->eq("\x{09C7}\x{09BE}A", "\x{09C7}\cA\x{09BE}A"));
-ok($L3ignorable->eq("\x{09C7}\x{09BE}A", "\x{09C7}\x{0591}\x{09BE}A"));
-ok($L3ignorable->eq("\x{09C7}\x{09BE}A", "\x{09C7}\x{1D165}\x{09BE}A"));
-ok($L3ignorable->eq("\x{09C7}\x{09BE}A", "\x{09CB}A"));
+ok($L3ignorable->eq("\x{9C7}\x{9BE}A", "\x{9C7}\cA\x{9BE}A"));
+ok($L3ignorable->eq("\x{9C7}\x{9BE}A", "\x{9C7}\x{591}\x{9BE}A"));
+ok($L3ignorable->eq("\x{9C7}\x{9BE}A", "\x{9C7}\x{1D165}\x{9BE}A"));
+ok($L3ignorable->eq("\x{9C7}\x{9BE}A", "\x{9CB}A"));
ok($L3ignorable->lt("\x{1D1BB}", "\x{1D1BC}"));
ok($L3ignorable->eq("\x{1D1BB}", "\x{1D1B9}"));
ok($L3ignorable->eq("\x{1D1BC}", "\x{1D1BA}"));
@@ -148,14 +148,14 @@ ENTRIES
ok($c->gt("ocho", "oc\x00\x00ho"));
ok($c->gt("ocho", "oc\cAho"));
-ok($c->gt("ocho", "oc\x{034F}ho"));
-ok($c->gt("ocio", "oc\x{034F}ho"));
-ok($c->lt("ocgo", "oc\x{034F}ho"));
-ok($c->lt("oceo", "oc\x{034F}ho"));
+ok($c->gt("ocho", "oc\x{34F}ho"));
+ok($c->gt("ocio", "oc\x{34F}ho"));
+ok($c->lt("ocgo", "oc\x{34F}ho"));
+ok($c->lt("oceo", "oc\x{34F}ho"));
ok($c->viewSortKey("ocho"), "[0B4B 0A3F 0B4B | | |]");
ok($c->viewSortKey("oc\x00\x00ho"), "[0B4B 0A3D 0AB9 0B4B | | |]");
ok($c->viewSortKey("oc\cAho"), "[0B4B 0A3D 0AB9 0B4B | | |]");
-ok($c->viewSortKey("oc\x{034F}ho"), "[0B4B 0A3D 0AB9 0B4B | | |]");
+ok($c->viewSortKey("oc\x{34F}ho"), "[0B4B 0A3D 0AB9 0B4B | | |]");
diff --git a/cpan/Unicode-Collate/t/loc_kn.t b/cpan/Unicode-Collate/t/loc_kn.t
index 3563f693e2..bb31bfb82d 100644
--- a/cpan/Unicode-Collate/t/loc_kn.t
+++ b/cpan/Unicode-Collate/t/loc_kn.t
@@ -29,9 +29,9 @@ ok($objKn->getlocale, 'kn');
$objKn->change(level => 1);
-ok($objKn->lt("\x{0C94}", "\x{0C82}"));
-ok($objKn->lt("\x{0C82}", "\x{0C83}"));
-ok($objKn->lt("\x{0C83}", "\x{0CF1}"));
-ok($objKn->lt("\x{0CF1}", "\x{0CF2}"));
-ok($objKn->lt("\x{0CF2}", "\x{0C95}"));
+ok($objKn->lt("\x{C94}", "\x{C82}"));
+ok($objKn->lt("\x{C82}", "\x{C83}"));
+ok($objKn->lt("\x{C83}", "\x{CF1}"));
+ok($objKn->lt("\x{CF1}", "\x{CF2}"));
+ok($objKn->lt("\x{CF2}", "\x{C95}"));
diff --git a/cpan/Unicode-Collate/t/loc_mk.t b/cpan/Unicode-Collate/t/loc_mk.t
index 1df037ef50..61bdaed3e3 100644
--- a/cpan/Unicode-Collate/t/loc_mk.t
+++ b/cpan/Unicode-Collate/t/loc_mk.t
@@ -12,7 +12,7 @@ BEGIN {
}
use Test;
-BEGIN { plan tests => 130 };
+BEGIN { plan tests => 202 };
use strict;
use warnings;
@@ -29,10 +29,10 @@ ok($objMk->getlocale, 'mk');
$objMk->change(level => 1);
-ok($objMk->gt("\x{4E5}", "\x{438}"));
-ok($objMk->gt("\x{4E4}", "\x{418}"));
-ok($objMk->gt("\x{439}", "\x{438}"));
-ok($objMk->gt("\x{419}", "\x{418}"));
+ok($objMk->gt("\x{453}", "\x{433}")); # not suppressed
+ok($objMk->gt("\x{403}", "\x{413}")); # not suppressed
+ok($objMk->gt("\x{45C}", "\x{43A}")); # not suppressed
+ok($objMk->gt("\x{40C}", "\x{41A}")); # not suppressed
# 6
@@ -40,20 +40,36 @@ ok($objMk->eq("\x{4D1}", "\x{430}"));
ok($objMk->eq("\x{4D0}", "\x{410}"));
ok($objMk->eq("\x{4D3}", "\x{430}"));
ok($objMk->eq("\x{4D2}", "\x{410}"));
-ok($objMk->eq("\x{453}", "\x{433}"));
-ok($objMk->eq("\x{403}", "\x{413}"));
+ok($objMk->eq("\x{4DB}", "\x{4D9}"));
+ok($objMk->eq("\x{4DA}", "\x{4D8}"));
+ok($objMk->eq("\x{450}", "\x{435}")); # not contraction
+ok($objMk->eq("\x{400}", "\x{415}")); # not contraction
+ok($objMk->eq("\x{451}", "\x{435}")); # not contraction
+ok($objMk->eq("\x{401}", "\x{415}")); # not contraction
ok($objMk->eq("\x{4D7}", "\x{435}"));
ok($objMk->eq("\x{4D6}", "\x{415}"));
+ok($objMk->eq("\x{4C2}", "\x{436}")); # not contraction
+ok($objMk->eq("\x{4C1}", "\x{416}")); # not contraction
ok($objMk->eq("\x{4DD}", "\x{436}"));
ok($objMk->eq("\x{4DC}", "\x{416}"));
ok($objMk->eq("\x{4DF}", "\x{437}"));
ok($objMk->eq("\x{4DE}", "\x{417}"));
+ok($objMk->eq("\x{45D}", "\x{438}")); # not contraction
+ok($objMk->eq("\x{40D}", "\x{418}")); # not contraction
+ok($objMk->eq("\x{4E3}", "\x{438}")); # not contraction
+ok($objMk->eq("\x{4E2}", "\x{418}")); # not contraction
+ok($objMk->eq("\x{4E5}", "\x{438}"));
+ok($objMk->eq("\x{4E4}", "\x{418}"));
ok($objMk->eq("\x{457}", "\x{456}"));
ok($objMk->eq("\x{407}", "\x{406}"));
+ok($objMk->eq("\x{439}", "\x{438}"));
+ok($objMk->eq("\x{419}", "\x{418}"));
ok($objMk->eq("\x{4E7}", "\x{43E}"));
ok($objMk->eq("\x{4E6}", "\x{41E}"));
-ok($objMk->eq("\x{45C}", "\x{43A}"));
-ok($objMk->eq("\x{40C}", "\x{41A}"));
+ok($objMk->eq("\x{4EB}", "\x{4E9}"));
+ok($objMk->eq("\x{4EA}", "\x{4E8}"));
+ok($objMk->eq("\x{4EF}", "\x{443}")); # not contraction
+ok($objMk->eq("\x{4EE}", "\x{423}")); # not contraction
ok($objMk->eq("\x{45E}", "\x{443}"));
ok($objMk->eq("\x{40E}", "\x{423}"));
ok($objMk->eq("\x{4F1}", "\x{443}"));
@@ -66,8 +82,10 @@ ok($objMk->eq("\x{4F9}", "\x{44B}"));
ok($objMk->eq("\x{4F8}", "\x{42B}"));
ok($objMk->eq("\x{4ED}", "\x{44D}"));
ok($objMk->eq("\x{4EC}", "\x{42D}"));
+ok($objMk->eq("\x{477}", "\x{475}"));
+ok($objMk->eq("\x{476}", "\x{474}"));
-# 36
+# 54
$objMk->change(level => 2);
@@ -75,20 +93,36 @@ ok($objMk->gt("\x{4D1}", "\x{430}"));
ok($objMk->gt("\x{4D0}", "\x{410}"));
ok($objMk->gt("\x{4D3}", "\x{430}"));
ok($objMk->gt("\x{4D2}", "\x{410}"));
-ok($objMk->gt("\x{453}", "\x{433}"));
-ok($objMk->gt("\x{403}", "\x{413}"));
+ok($objMk->gt("\x{4DB}", "\x{4D9}"));
+ok($objMk->gt("\x{4DA}", "\x{4D8}"));
+ok($objMk->gt("\x{450}", "\x{435}")); # not contraction
+ok($objMk->gt("\x{400}", "\x{415}")); # not contraction
+ok($objMk->gt("\x{451}", "\x{435}")); # not contraction
+ok($objMk->gt("\x{401}", "\x{415}")); # not contraction
ok($objMk->gt("\x{4D7}", "\x{435}"));
ok($objMk->gt("\x{4D6}", "\x{415}"));
+ok($objMk->gt("\x{4C2}", "\x{436}")); # not contraction
+ok($objMk->gt("\x{4C1}", "\x{416}")); # not contraction
ok($objMk->gt("\x{4DD}", "\x{436}"));
ok($objMk->gt("\x{4DC}", "\x{416}"));
ok($objMk->gt("\x{4DF}", "\x{437}"));
ok($objMk->gt("\x{4DE}", "\x{417}"));
+ok($objMk->gt("\x{45D}", "\x{438}")); # not contraction
+ok($objMk->gt("\x{40D}", "\x{418}")); # not contraction
+ok($objMk->gt("\x{4E3}", "\x{438}")); # not contraction
+ok($objMk->gt("\x{4E2}", "\x{418}")); # not contraction
+ok($objMk->gt("\x{4E5}", "\x{438}"));
+ok($objMk->gt("\x{4E4}", "\x{418}"));
ok($objMk->gt("\x{457}", "\x{456}"));
ok($objMk->gt("\x{407}", "\x{406}"));
+ok($objMk->gt("\x{439}", "\x{438}"));
+ok($objMk->gt("\x{419}", "\x{418}"));
ok($objMk->gt("\x{4E7}", "\x{43E}"));
ok($objMk->gt("\x{4E6}", "\x{41E}"));
-ok($objMk->gt("\x{45C}", "\x{43A}"));
-ok($objMk->gt("\x{40C}", "\x{41A}"));
+ok($objMk->gt("\x{4EB}", "\x{4E9}"));
+ok($objMk->gt("\x{4EA}", "\x{4E8}"));
+ok($objMk->gt("\x{4EF}", "\x{443}")); # not contraction
+ok($objMk->gt("\x{4EE}", "\x{423}")); # not contraction
ok($objMk->gt("\x{45E}", "\x{443}"));
ok($objMk->gt("\x{40E}", "\x{423}"));
ok($objMk->gt("\x{4F1}", "\x{443}"));
@@ -101,77 +135,69 @@ ok($objMk->gt("\x{4F9}", "\x{44B}"));
ok($objMk->gt("\x{4F8}", "\x{42B}"));
ok($objMk->gt("\x{4ED}", "\x{44D}"));
ok($objMk->gt("\x{4EC}", "\x{42D}"));
+ok($objMk->gt("\x{477}", "\x{475}"));
+ok($objMk->gt("\x{476}", "\x{474}"));
-# 66
+# 102
$objMk->change(level => 3);
-ok($objMk->eq("\x{4D1}", "\x{430}\x{306}"));
-ok($objMk->eq("\x{4D0}", "\x{410}\x{306}"));
-ok($objMk->eq("\x{4D3}", "\x{430}\x{308}"));
-ok($objMk->eq("\x{4D2}", "\x{410}\x{308}"));
-ok($objMk->eq("\x{453}", "\x{433}\x{301}"));
-ok($objMk->eq("\x{403}", "\x{413}\x{301}"));
-ok($objMk->eq("\x{4D7}", "\x{435}\x{306}"));
-ok($objMk->eq("\x{4D6}", "\x{415}\x{306}"));
-ok($objMk->eq("\x{4DD}", "\x{436}\x{308}"));
-ok($objMk->eq("\x{4DC}", "\x{416}\x{308}"));
-ok($objMk->eq("\x{4DF}", "\x{437}\x{308}"));
-ok($objMk->eq("\x{4DE}", "\x{417}\x{308}"));
-ok($objMk->eq("\x{4E5}", "\x{438}\x{308}"));
-ok($objMk->eq("\x{4E4}", "\x{418}\x{308}"));
-ok($objMk->eq("\x{457}", "\x{456}\x{308}"));
-ok($objMk->eq("\x{407}", "\x{406}\x{308}"));
-ok($objMk->eq("\x{439}", "\x{438}\x{306}"));
-ok($objMk->eq("\x{419}", "\x{418}\x{306}"));
-ok($objMk->eq("\x{4E7}", "\x{43E}\x{308}"));
-ok($objMk->eq("\x{4E6}", "\x{41E}\x{308}"));
-ok($objMk->eq("\x{45C}", "\x{43A}\x{301}"));
-ok($objMk->eq("\x{40C}", "\x{41A}\x{301}"));
-ok($objMk->eq("\x{45E}", "\x{443}\x{306}"));
-ok($objMk->eq("\x{40E}", "\x{423}\x{306}"));
-ok($objMk->eq("\x{4F1}", "\x{443}\x{308}"));
-ok($objMk->eq("\x{4F0}", "\x{423}\x{308}"));
-ok($objMk->eq("\x{4F3}", "\x{443}\x{30B}"));
-ok($objMk->eq("\x{4F2}", "\x{423}\x{30B}"));
-ok($objMk->eq("\x{4F5}", "\x{447}\x{308}"));
-ok($objMk->eq("\x{4F4}", "\x{427}\x{308}"));
-ok($objMk->eq("\x{4F9}", "\x{44B}\x{308}"));
-ok($objMk->eq("\x{4F8}", "\x{42B}\x{308}"));
-ok($objMk->eq("\x{4ED}", "\x{44D}\x{308}"));
-ok($objMk->eq("\x{4EC}", "\x{42D}\x{308}"));
-
-# 100
-
-ok($objMk->eq("\x{4D1}", "\x{430}\0\x{306}"));
-ok($objMk->eq("\x{4D0}", "\x{410}\0\x{306}"));
-ok($objMk->eq("\x{4D3}", "\x{430}\0\x{308}"));
-ok($objMk->eq("\x{4D2}", "\x{410}\0\x{308}"));
-ok($objMk->eq("\x{453}", "\x{433}\0\x{301}"));
-ok($objMk->eq("\x{403}", "\x{413}\0\x{301}"));
-ok($objMk->eq("\x{4D7}", "\x{435}\0\x{306}"));
-ok($objMk->eq("\x{4D6}", "\x{415}\0\x{306}"));
-ok($objMk->eq("\x{4DD}", "\x{436}\0\x{308}"));
-ok($objMk->eq("\x{4DC}", "\x{416}\0\x{308}"));
-ok($objMk->eq("\x{4DF}", "\x{437}\0\x{308}"));
-ok($objMk->eq("\x{4DE}", "\x{417}\0\x{308}"));
-ok($objMk->eq("\x{457}", "\x{456}\0\x{308}"));
-ok($objMk->eq("\x{407}", "\x{406}\0\x{308}"));
-ok($objMk->eq("\x{4E7}", "\x{43E}\0\x{308}"));
-ok($objMk->eq("\x{4E6}", "\x{41E}\0\x{308}"));
-ok($objMk->eq("\x{45C}", "\x{43A}\0\x{301}"));
-ok($objMk->eq("\x{40C}", "\x{41A}\0\x{301}"));
-ok($objMk->eq("\x{45E}", "\x{443}\0\x{306}"));
-ok($objMk->eq("\x{40E}", "\x{423}\0\x{306}"));
-ok($objMk->eq("\x{4F1}", "\x{443}\0\x{308}"));
-ok($objMk->eq("\x{4F0}", "\x{423}\0\x{308}"));
-ok($objMk->eq("\x{4F3}", "\x{443}\0\x{30B}"));
-ok($objMk->eq("\x{4F2}", "\x{423}\0\x{30B}"));
-ok($objMk->eq("\x{4F5}", "\x{447}\0\x{308}"));
-ok($objMk->eq("\x{4F4}", "\x{427}\0\x{308}"));
-ok($objMk->eq("\x{4F9}", "\x{44B}\0\x{308}"));
-ok($objMk->eq("\x{4F8}", "\x{42B}\0\x{308}"));
-ok($objMk->eq("\x{4ED}", "\x{44D}\0\x{308}"));
-ok($objMk->eq("\x{4EC}", "\x{42D}\0\x{308}"));
-
-# 130
+ok($objMk->eq("\x{453}", "\x{433}\x{301}")); # not suppressed
+ok($objMk->eq("\x{403}", "\x{413}\x{301}")); # not suppressed
+ok($objMk->eq("\x{45C}", "\x{43A}\x{301}")); # not suppressed
+ok($objMk->eq("\x{40C}", "\x{41A}\x{301}")); # not suppressed
+
+# 106
+
+for my $i ("", "\0") {
+ ok($objMk->eq("\x{4D1}", "\x{430}$i\x{306}"));
+ ok($objMk->eq("\x{4D0}", "\x{410}$i\x{306}"));
+ ok($objMk->eq("\x{4D3}", "\x{430}$i\x{308}"));
+ ok($objMk->eq("\x{4D2}", "\x{410}$i\x{308}"));
+ ok($objMk->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+ ok($objMk->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+ ok($objMk->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
+ ok($objMk->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
+ ok($objMk->eq("\x{451}", "\x{435}$i\x{308}")); # not contraction
+ ok($objMk->eq("\x{401}", "\x{415}$i\x{308}")); # not contraction
+ ok($objMk->eq("\x{4D7}", "\x{435}$i\x{306}"));
+ ok($objMk->eq("\x{4D6}", "\x{415}$i\x{306}"));
+ ok($objMk->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
+ ok($objMk->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
+ ok($objMk->eq("\x{4DD}", "\x{436}$i\x{308}"));
+ ok($objMk->eq("\x{4DC}", "\x{416}$i\x{308}"));
+ ok($objMk->eq("\x{4DF}", "\x{437}$i\x{308}"));
+ ok($objMk->eq("\x{4DE}", "\x{417}$i\x{308}"));
+ ok($objMk->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
+ ok($objMk->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
+ ok($objMk->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
+ ok($objMk->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
+ ok($objMk->eq("\x{4E5}", "\x{438}$i\x{308}"));
+ ok($objMk->eq("\x{4E4}", "\x{418}$i\x{308}"));
+ ok($objMk->eq("\x{457}", "\x{456}$i\x{308}"));
+ ok($objMk->eq("\x{407}", "\x{406}$i\x{308}"));
+ ok($objMk->eq("\x{439}", "\x{438}$i\x{306}"));
+ ok($objMk->eq("\x{419}", "\x{418}$i\x{306}"));
+ ok($objMk->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+ ok($objMk->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+ ok($objMk->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+ ok($objMk->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+ ok($objMk->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
+ ok($objMk->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
+ ok($objMk->eq("\x{45E}", "\x{443}$i\x{306}"));
+ ok($objMk->eq("\x{40E}", "\x{423}$i\x{306}"));
+ ok($objMk->eq("\x{4F1}", "\x{443}$i\x{308}"));
+ ok($objMk->eq("\x{4F0}", "\x{423}$i\x{308}"));
+ ok($objMk->eq("\x{4F3}", "\x{443}$i\x{30B}"));
+ ok($objMk->eq("\x{4F2}", "\x{423}$i\x{30B}"));
+ ok($objMk->eq("\x{4F5}", "\x{447}$i\x{308}"));
+ ok($objMk->eq("\x{4F4}", "\x{427}$i\x{308}"));
+ ok($objMk->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+ ok($objMk->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+ ok($objMk->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+ ok($objMk->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+ ok($objMk->eq("\x{477}", "\x{475}$i\x{30F}"));
+ ok($objMk->eq("\x{476}", "\x{474}$i\x{30F}"));
+}
+
+# 202
diff --git a/cpan/Unicode-Collate/t/loc_ml.t b/cpan/Unicode-Collate/t/loc_ml.t
new file mode 100644
index 0000000000..9ffdde722f
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_ml.t
@@ -0,0 +1,86 @@
+
+BEGIN {
+ unless ("A" eq pack('U', 0x41)) {
+ print "1..0 # Unicode::Collate " .
+ "cannot stringify a Unicode code point\n";
+ exit 0;
+ }
+ if ($ENV{PERL_CORE}) {
+ chdir('t') if -d 't';
+ @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+ }
+}
+
+use Test;
+BEGIN { plan tests => 36 };
+
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $objMl = Unicode::Collate::Locale->
+ new(locale => 'ML', normalization => undef);
+
+ok($objMl->getlocale, 'ml');
+
+$objMl->change(level => 1);
+
+ok($objMl->lt("\x{D4B}", "\x{D57}"));
+
+# 3
+
+ok($objMl->eq("\x{D03}", "\x{D3D}"));
+ok($objMl->eq("\x{D15}\x{D4D}", "\x{D15}\x{D4D}\x{200D}"));
+ok($objMl->eq("\x{D23}\x{D4D}", "\x{D23}\x{D4D}\x{200D}"));
+ok($objMl->eq("\x{D28}\x{D4D}", "\x{D28}\x{D4D}\x{200D}"));
+ok($objMl->eq("\x{D30}\x{D4D}", "\x{D30}\x{D4D}\x{200D}"));
+ok($objMl->eq("\x{D32}\x{D4D}", "\x{D32}\x{D4D}\x{200D}"));
+ok($objMl->eq("\x{D33}\x{D4D}", "\x{D33}\x{D4D}\x{200D}"));
+ok($objMl->eq("\x{D2E}\x{D4D}", "\x{D02}"));
+
+# 11
+
+$objMl->change(level => 2);
+
+ok($objMl->lt("\x{D03}", "\x{D3D}"));
+ok($objMl->lt("\x{D15}\x{D4D}", "\x{D15}\x{D4D}\x{200D}"));
+ok($objMl->lt("\x{D23}\x{D4D}", "\x{D23}\x{D4D}\x{200D}"));
+ok($objMl->lt("\x{D28}\x{D4D}", "\x{D28}\x{D4D}\x{200D}"));
+ok($objMl->lt("\x{D30}\x{D4D}", "\x{D30}\x{D4D}\x{200D}"));
+ok($objMl->lt("\x{D32}\x{D4D}", "\x{D32}\x{D4D}\x{200D}"));
+ok($objMl->lt("\x{D33}\x{D4D}", "\x{D33}\x{D4D}\x{200D}"));
+ok($objMl->lt("\x{D2E}\x{D4D}", "\x{D02}"));
+
+# 19
+
+ok($objMl->eq("\x{D57}", "\x{D4C}"));
+ok($objMl->eq("\x{D15}\x{D4D}\x{200D}", "\x{D7F}"));
+ok($objMl->eq("\x{D23}\x{D4D}\x{200D}", "\x{D7A}"));
+ok($objMl->eq("\x{D28}\x{D4D}\x{200D}", "\x{D7B}"));
+ok($objMl->eq("\x{D30}\x{D4D}\x{200D}", "\x{D7C}"));
+ok($objMl->eq("\x{D32}\x{D4D}\x{200D}", "\x{D7D}"));
+ok($objMl->eq("\x{D33}\x{D4D}\x{200D}", "\x{D7E}"));
+ok($objMl->eq("\x{D28}\x{D4D}", "\x{D7B}\x{D4D}"));
+
+# 27
+
+$objMl->change(level => 3);
+
+ok($objMl->lt("\x{D57}", "\x{D4C}"));
+ok($objMl->lt("\x{D15}\x{D4D}\x{200D}", "\x{D7F}"));
+ok($objMl->lt("\x{D23}\x{D4D}\x{200D}", "\x{D7A}"));
+ok($objMl->lt("\x{D28}\x{D4D}\x{200D}", "\x{D7B}"));
+ok($objMl->lt("\x{D30}\x{D4D}\x{200D}", "\x{D7C}"));
+ok($objMl->lt("\x{D32}\x{D4D}\x{200D}", "\x{D7D}"));
+ok($objMl->lt("\x{D33}\x{D4D}\x{200D}", "\x{D7E}"));
+ok($objMl->lt("\x{D28}\x{D4D}", "\x{D7B}\x{D4D}"));
+
+# 35
+
+ok($objMl->eq("\x{D4C}", "\x{D46}\x{D57}"));
+
+# 36
diff --git a/cpan/Unicode-Collate/t/loc_mr.t b/cpan/Unicode-Collate/t/loc_mr.t
new file mode 100644
index 0000000000..d1e07a550c
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_mr.t
@@ -0,0 +1,56 @@
+
+BEGIN {
+ unless ("A" eq pack('U', 0x41)) {
+ print "1..0 # Unicode::Collate " .
+ "cannot stringify a Unicode code point\n";
+ exit 0;
+ }
+ if ($ENV{PERL_CORE}) {
+ chdir('t') if -d 't';
+ @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+ }
+}
+
+use Test;
+BEGIN { plan tests => 14 };
+
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $objMr = Unicode::Collate::Locale->
+ new(locale => 'MR', normalization => undef);
+
+ok($objMr->getlocale, 'mr');
+
+$objMr->change(level => 1);
+
+ok($objMr->lt("\x{950}", "\x{902}"));
+ok($objMr->lt("\x{902}", "\x{903}"));
+ok($objMr->lt("\x{903}", "\x{972}"));
+
+ok($objMr->eq("\x{902}", "\x{901}"));
+
+ok($objMr->lt("\x{939}", "\x{933}"));
+ok($objMr->lt("\x{933}", "\x{915}\x{94D}\x{937}"));
+ok($objMr->lt("\x{915}\x{94D}\x{937}", "\x{91C}\x{94D}\x{91E}"));
+ok($objMr->lt("\x{91C}\x{94D}\x{91E}", "\x{93D}"));
+
+ok($objMr->eq("\x{933}", "\x{934}"));
+
+# 11
+
+$objMr->change(level => 2);
+
+ok($objMr->lt("\x{902}", "\x{901}"));
+ok($objMr->lt("\x{933}", "\x{934}"));
+
+$objMr->change(level => 3);
+
+ok($objMr->eq("\x{933}\x{93C}", "\x{934}"));
+
+# 14
diff --git a/cpan/Unicode-Collate/t/loc_mt.t b/cpan/Unicode-Collate/t/loc_mt.t
index f3e15ba19c..3f027bb858 100644
--- a/cpan/Unicode-Collate/t/loc_mt.t
+++ b/cpan/Unicode-Collate/t/loc_mt.t
@@ -29,8 +29,8 @@ ok($objMt->getlocale, 'mt');
$objMt->change(level => 1);
-ok($objMt->lt("c", "c\x{307}"));
-ok($objMt->gt("d", "c\x{307}"));
+ok($objMt->lt("b", "c\x{307}"));
+ok($objMt->gt("c", "c\x{307}"));
ok($objMt->lt("f", "g\x{307}"));
ok($objMt->gt("g", "g\x{307}"));
ok($objMt->lt("g", "gh\x{335}"));
diff --git a/cpan/Unicode-Collate/t/loc_nb.t b/cpan/Unicode-Collate/t/loc_nb.t
index 4de166a644..9cccbd5f43 100644
--- a/cpan/Unicode-Collate/t/loc_nb.t
+++ b/cpan/Unicode-Collate/t/loc_nb.t
@@ -12,7 +12,7 @@ BEGIN {
}
use Test;
-BEGIN { plan tests => 95 };
+BEGIN { plan tests => 101 };
use strict;
use warnings;
@@ -62,8 +62,9 @@ ok($objNb->eq($auml, "\x{119}"));
ok($objNb->eq($ostk, $ouml));
ok($objNb->eq($ouml, "\x{151}"));
ok($objNb->eq("\x{151}", "\x{153}"));
+ok($objNb->eq($arng, 'aa'));
-# 15
+# 16
$objNb->change(level => 2);
@@ -76,8 +77,9 @@ ok($objNb->lt($auml, "\x{119}"));
ok($objNb->lt($ostk, $ouml));
ok($objNb->lt($ouml, "\x{151}"));
ok($objNb->lt("\x{151}", "\x{153}"));
+ok($objNb->lt($arng, 'aa'));
-# 24
+# 26
ok($objNb->eq("\x{111}", "\x{110}"));
ok($objNb->eq($eth, $ETH));
@@ -95,8 +97,10 @@ ok($objNb->eq($ouml, $Ouml));
ok($objNb->eq("\x{151}", "\x{150}"));
ok($objNb->eq("\x{153}", "\x{152}"));
ok($objNb->eq($arng, $Arng));
+ok($objNb->eq('aa', 'Aa'));
+ok($objNb->eq('Aa', 'AA'));
-# 40
+# 44
$objNb->change(level => 3);
@@ -116,8 +120,10 @@ ok($objNb->lt($ouml, $Ouml));
ok($objNb->lt("\x{151}", "\x{150}"));
ok($objNb->lt("\x{153}", "\x{152}"));
ok($objNb->lt($arng, $Arng));
+ok($objNb->lt('aa', 'Aa'));
+ok($objNb->lt('Aa', 'AA'));
-# 56
+# 62
ok($objNb->eq("d\x{335}", "\x{111}"));
ok($objNb->eq("D\x{335}", "\x{110}"));
@@ -138,7 +144,7 @@ ok($objNb->eq("O\x{30B}", "\x{150}"));
ok($objNb->eq("a\x{30A}", $arng));
ok($objNb->eq("A\x{30A}", $Arng));
-# 74
+# 80
ok($objNb->eq("u\x{308}\x{300}", "\x{1DC}"));
ok($objNb->eq("U\x{308}\x{300}", "\x{1DB}"));
@@ -162,4 +168,4 @@ ok($objNb->eq("A\x{30A}", "\x{212B}"));
ok($objNb->eq("a\x{30A}\x{301}", "\x{1FB}"));
ok($objNb->eq("A\x{30A}\x{301}", "\x{1FA}"));
-# 95
+# 101
diff --git a/cpan/Unicode-Collate/t/loc_nn.t b/cpan/Unicode-Collate/t/loc_nn.t
index 6af4447d93..bed31a075f 100644
--- a/cpan/Unicode-Collate/t/loc_nn.t
+++ b/cpan/Unicode-Collate/t/loc_nn.t
@@ -12,7 +12,7 @@ BEGIN {
}
use Test;
-BEGIN { plan tests => 95 };
+BEGIN { plan tests => 101 };
use strict;
use warnings;
@@ -62,8 +62,9 @@ ok($objNn->eq($auml, "\x{119}"));
ok($objNn->eq($ostk, $ouml));
ok($objNn->eq($ouml, "\x{151}"));
ok($objNn->eq("\x{151}", "\x{153}"));
+ok($objNn->eq($arng, 'aa'));
-# 15
+# 16
$objNn->change(level => 2);
@@ -76,8 +77,9 @@ ok($objNn->lt($auml, "\x{119}"));
ok($objNn->lt($ostk, $ouml));
ok($objNn->lt($ouml, "\x{151}"));
ok($objNn->lt("\x{151}", "\x{153}"));
+ok($objNn->lt($arng, 'aa'));
-# 24
+# 26
ok($objNn->eq("\x{111}", "\x{110}"));
ok($objNn->eq($eth, $ETH));
@@ -95,8 +97,10 @@ ok($objNn->eq($ouml, $Ouml));
ok($objNn->eq("\x{151}", "\x{150}"));
ok($objNn->eq("\x{153}", "\x{152}"));
ok($objNn->eq($arng, $Arng));
+ok($objNn->eq('aa', 'Aa'));
+ok($objNn->eq('Aa', 'AA'));
-# 40
+# 44
$objNn->change(level => 3);
@@ -116,8 +120,10 @@ ok($objNn->lt($ouml, $Ouml));
ok($objNn->lt("\x{151}", "\x{150}"));
ok($objNn->lt("\x{153}", "\x{152}"));
ok($objNn->lt($arng, $Arng));
+ok($objNn->lt('aa', 'Aa'));
+ok($objNn->lt('Aa', 'AA'));
-# 56
+# 62
ok($objNn->eq("d\x{335}", "\x{111}"));
ok($objNn->eq("D\x{335}", "\x{110}"));
@@ -138,7 +144,7 @@ ok($objNn->eq("O\x{30B}", "\x{150}"));
ok($objNn->eq("a\x{30A}", $arng));
ok($objNn->eq("A\x{30A}", $Arng));
-# 74
+# 80
ok($objNn->eq("u\x{308}\x{300}", "\x{1DC}"));
ok($objNn->eq("U\x{308}\x{300}", "\x{1DB}"));
@@ -162,4 +168,4 @@ ok($objNn->eq("A\x{30A}", "\x{212B}"));
ok($objNn->eq("a\x{30A}\x{301}", "\x{1FB}"));
ok($objNn->eq("A\x{30A}\x{301}", "\x{1FA}"));
-# 95
+# 101
diff --git a/cpan/Unicode-Collate/t/loc_or.t b/cpan/Unicode-Collate/t/loc_or.t
new file mode 100644
index 0000000000..1f94fd9554
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_or.t
@@ -0,0 +1,45 @@
+
+BEGIN {
+ unless ("A" eq pack('U', 0x41)) {
+ print "1..0 # Unicode::Collate " .
+ "cannot stringify a Unicode code point\n";
+ exit 0;
+ }
+ if ($ENV{PERL_CORE}) {
+ chdir('t') if -d 't';
+ @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+ }
+}
+
+use Test;
+BEGIN { plan tests => 10 };
+
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $objOr = Unicode::Collate::Locale->
+ new(locale => 'OR', normalization => undef);
+
+ok($objOr->getlocale, 'or');
+
+$objOr->change(level => 1);
+
+ok($objOr->lt("\x{B14}", "\x{B01}"));
+ok($objOr->lt("\x{B01}", "\x{B02}"));
+ok($objOr->lt("\x{B02}", "\x{B03}"));
+ok($objOr->lt("\x{B03}", "\x{B15}"));
+
+ok($objOr->lt("\x{B39}", "\x{B15}\x{B4D}\x{B37}"));
+ok($objOr->gt("\x{B3D}", "\x{B15}\x{B4D}\x{B37}"));
+
+ok($objOr->eq("\x{B2F}", "\x{B5F}"));
+
+$objOr->change(level => 2);
+
+ok($objOr->lt("\x{B2F}", "\x{B5F}"));
+
diff --git a/cpan/Unicode-Collate/t/loc_pa.t b/cpan/Unicode-Collate/t/loc_pa.t
new file mode 100644
index 0000000000..811ee78d61
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_pa.t
@@ -0,0 +1,88 @@
+
+BEGIN {
+ unless ("A" eq pack('U', 0x41)) {
+ print "1..0 # Unicode::Collate " .
+ "cannot stringify a Unicode code point\n";
+ exit 0;
+ }
+ if ($ENV{PERL_CORE}) {
+ chdir('t') if -d 't';
+ @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+ }
+}
+
+use Test;
+BEGIN { plan tests => 41 };
+
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $objPa = Unicode::Collate::Locale->
+ new(locale => 'PA', normalization => undef);
+
+my $default = Unicode::Collate::Locale->
+ new(normalization => undef);
+
+ok($objPa->getlocale, 'pa');
+ok($default->getlocale, 'default');
+
+$objPa->change(level => 1);
+
+ok($objPa->lt("\x{A5C}", "\x{A4D}"));
+ok($objPa->lt("\x{A4D}", "\x{A3E}"));
+
+# 5
+
+# RRA and Vowel Signs
+for my $o ($objPa, $default) {
+ ok($o->lt("\x{A5C}", "\x{A3E}"));
+ ok($o->lt("\x{A3E}", "\x{A3F}"));
+ ok($o->lt("\x{A3F}", "\x{A40}"));
+ ok($o->lt("\x{A40}", "\x{A41}"));
+ ok($o->lt("\x{A41}", "\x{A42}"));
+ ok($o->lt("\x{A42}", "\x{A47}"));
+ ok($o->lt("\x{A47}", "\x{A48}"));
+ ok($o->lt("\x{A48}", "\x{A4B}"));
+ ok($o->lt("\x{A4B}", "\x{A4C}"));
+}
+
+# 23
+
+ok($default->lt("\x{A4C}", "\x{A4D}"));
+
+# 24
+
+ok($objPa->eq("\x{A03}", ""));
+ok($objPa->eq("\x{A03}", "\x{A71}"));
+ok($objPa->eq("\x{A71}", "\x{A70}"));
+ok($objPa->eq("\x{A70}", "\x{A02}"));
+ok($objPa->eq("\x{A02}", "\x{A01}"));
+ok($objPa->eq("\x{A01}", "\x{A3C}"));
+
+# 30
+
+$objPa->change(level => 2);
+
+ok($objPa->lt("\x{A03}", "\x{A71}"));
+ok($objPa->lt("\x{A71}", "\x{A70}"));
+ok($objPa->lt("\x{A70}", "\x{A02}"));
+ok($objPa->lt("\x{A02}", "\x{A01}"));
+ok($objPa->lt("\x{A01}", "\x{A3C}"));
+
+# 35
+
+$objPa->change(level => 3);
+
+ok($objPa->eq("\x{A33}", "\x{A32}\x{A3C}"));
+ok($objPa->eq("\x{A36}", "\x{A38}\x{A3C}"));
+ok($objPa->eq("\x{A59}", "\x{A16}\x{A3C}"));
+ok($objPa->eq("\x{A5A}", "\x{A17}\x{A3C}"));
+ok($objPa->eq("\x{A5B}", "\x{A1C}\x{A3C}"));
+ok($objPa->eq("\x{A5E}", "\x{A2B}\x{A3C}"));
+
+# 41
diff --git a/cpan/Unicode-Collate/t/loc_ro.t b/cpan/Unicode-Collate/t/loc_ro.t
index 9a88320cea..ec1b16beef 100644
--- a/cpan/Unicode-Collate/t/loc_ro.t
+++ b/cpan/Unicode-Collate/t/loc_ro.t
@@ -32,7 +32,7 @@ $objRo->change(level => 1);
ok($objRo->lt("a", "a\x{306}"));
ok($objRo->lt("a\x{306}", "a\x{302}"));
ok($objRo->gt("b", "a\x{302}"));
-ok($objRo->lt("d", "d\x{335}"));
+ok($objRo->eq("d", "d\x{335}")); # not tailored in CLDR 2.0
ok($objRo->gt("e", "d\x{335}"));
ok($objRo->lt("i", "i\x{302}"));
ok($objRo->gt("j", "i\x{302}"));
@@ -40,7 +40,7 @@ ok($objRo->lt("s", "s\x{327}"));
ok($objRo->gt("t", "s\x{327}"));
ok($objRo->lt("t", "t\x{327}"));
ok($objRo->gt("u", "t\x{327}"));
-ok($objRo->lt("z", "z\x{307}"));
+ok($objRo->eq("z", "z\x{307}")); # not tailored in CLDR 2.0
ok($objRo->lt("z\x{307}", "\x{292}")); # U+0292 EZH
# 15
diff --git a/cpan/Unicode-Collate/t/loc_ru.t b/cpan/Unicode-Collate/t/loc_ru.t
index bdd81cbaf8..a814897eb8 100644
--- a/cpan/Unicode-Collate/t/loc_ru.t
+++ b/cpan/Unicode-Collate/t/loc_ru.t
@@ -12,7 +12,7 @@ BEGIN {
}
use Test;
-BEGIN { plan tests => 130 };
+BEGIN { plan tests => 202 };
use strict;
use warnings;
@@ -29,10 +29,10 @@ ok($objRu->getlocale, 'ru');
$objRu->change(level => 1);
-ok($objRu->gt("\x{4E5}", "\x{438}"));
-ok($objRu->gt("\x{4E4}", "\x{418}"));
-ok($objRu->gt("\x{439}", "\x{438}"));
-ok($objRu->gt("\x{419}", "\x{418}"));
+ok($objRu->gt("\x{4E5}", "\x{438}")); # not suppressed
+ok($objRu->gt("\x{4E4}", "\x{418}")); # not suppressed
+ok($objRu->gt("\x{439}", "\x{438}")); # not suppressed
+ok($objRu->gt("\x{419}", "\x{418}")); # not suppressed
# 6
@@ -40,20 +40,36 @@ ok($objRu->eq("\x{4D1}", "\x{430}"));
ok($objRu->eq("\x{4D0}", "\x{410}"));
ok($objRu->eq("\x{4D3}", "\x{430}"));
ok($objRu->eq("\x{4D2}", "\x{410}"));
+ok($objRu->eq("\x{4DB}", "\x{4D9}"));
+ok($objRu->eq("\x{4DA}", "\x{4D8}"));
ok($objRu->eq("\x{453}", "\x{433}"));
ok($objRu->eq("\x{403}", "\x{413}"));
+ok($objRu->eq("\x{450}", "\x{435}")); # not contraction
+ok($objRu->eq("\x{400}", "\x{415}")); # not contraction
+ok($objRu->eq("\x{451}", "\x{435}")); # not contraction
+ok($objRu->eq("\x{401}", "\x{415}")); # not contraction
ok($objRu->eq("\x{4D7}", "\x{435}"));
ok($objRu->eq("\x{4D6}", "\x{415}"));
+ok($objRu->eq("\x{4C2}", "\x{436}")); # not contraction
+ok($objRu->eq("\x{4C1}", "\x{416}")); # not contraction
ok($objRu->eq("\x{4DD}", "\x{436}"));
ok($objRu->eq("\x{4DC}", "\x{416}"));
ok($objRu->eq("\x{4DF}", "\x{437}"));
ok($objRu->eq("\x{4DE}", "\x{417}"));
+ok($objRu->eq("\x{45D}", "\x{438}")); # not contraction
+ok($objRu->eq("\x{40D}", "\x{418}")); # not contraction
+ok($objRu->eq("\x{4E3}", "\x{438}")); # not contraction
+ok($objRu->eq("\x{4E2}", "\x{418}")); # not contraction
ok($objRu->eq("\x{457}", "\x{456}"));
ok($objRu->eq("\x{407}", "\x{406}"));
ok($objRu->eq("\x{4E7}", "\x{43E}"));
ok($objRu->eq("\x{4E6}", "\x{41E}"));
+ok($objRu->eq("\x{4EB}", "\x{4E9}"));
+ok($objRu->eq("\x{4EA}", "\x{4E8}"));
ok($objRu->eq("\x{45C}", "\x{43A}"));
ok($objRu->eq("\x{40C}", "\x{41A}"));
+ok($objRu->eq("\x{4EF}", "\x{443}")); # not contraction
+ok($objRu->eq("\x{4EE}", "\x{423}")); # not contraction
ok($objRu->eq("\x{45E}", "\x{443}"));
ok($objRu->eq("\x{40E}", "\x{423}"));
ok($objRu->eq("\x{4F1}", "\x{443}"));
@@ -66,8 +82,10 @@ ok($objRu->eq("\x{4F9}", "\x{44B}"));
ok($objRu->eq("\x{4F8}", "\x{42B}"));
ok($objRu->eq("\x{4ED}", "\x{44D}"));
ok($objRu->eq("\x{4EC}", "\x{42D}"));
+ok($objRu->eq("\x{477}", "\x{475}"));
+ok($objRu->eq("\x{476}", "\x{474}"));
-# 36
+# 54
$objRu->change(level => 2);
@@ -75,20 +93,36 @@ ok($objRu->gt("\x{4D1}", "\x{430}"));
ok($objRu->gt("\x{4D0}", "\x{410}"));
ok($objRu->gt("\x{4D3}", "\x{430}"));
ok($objRu->gt("\x{4D2}", "\x{410}"));
+ok($objRu->gt("\x{4DB}", "\x{4D9}"));
+ok($objRu->gt("\x{4DA}", "\x{4D8}"));
ok($objRu->gt("\x{453}", "\x{433}"));
ok($objRu->gt("\x{403}", "\x{413}"));
+ok($objRu->gt("\x{450}", "\x{435}")); # not contraction
+ok($objRu->gt("\x{400}", "\x{415}")); # not contraction
+ok($objRu->gt("\x{451}", "\x{435}")); # not contraction
+ok($objRu->gt("\x{401}", "\x{415}")); # not contraction
ok($objRu->gt("\x{4D7}", "\x{435}"));
ok($objRu->gt("\x{4D6}", "\x{415}"));
+ok($objRu->gt("\x{4C2}", "\x{436}")); # not contraction
+ok($objRu->gt("\x{4C1}", "\x{416}")); # not contraction
ok($objRu->gt("\x{4DD}", "\x{436}"));
ok($objRu->gt("\x{4DC}", "\x{416}"));
ok($objRu->gt("\x{4DF}", "\x{437}"));
ok($objRu->gt("\x{4DE}", "\x{417}"));
+ok($objRu->gt("\x{45D}", "\x{438}")); # not contraction
+ok($objRu->gt("\x{40D}", "\x{418}")); # not contraction
+ok($objRu->gt("\x{4E3}", "\x{438}")); # not contraction
+ok($objRu->gt("\x{4E2}", "\x{418}")); # not contraction
ok($objRu->gt("\x{457}", "\x{456}"));
ok($objRu->gt("\x{407}", "\x{406}"));
ok($objRu->gt("\x{4E7}", "\x{43E}"));
ok($objRu->gt("\x{4E6}", "\x{41E}"));
+ok($objRu->gt("\x{4EB}", "\x{4E9}"));
+ok($objRu->gt("\x{4EA}", "\x{4E8}"));
ok($objRu->gt("\x{45C}", "\x{43A}"));
ok($objRu->gt("\x{40C}", "\x{41A}"));
+ok($objRu->gt("\x{4EF}", "\x{443}")); # not contraction
+ok($objRu->gt("\x{4EE}", "\x{423}")); # not contraction
ok($objRu->gt("\x{45E}", "\x{443}"));
ok($objRu->gt("\x{40E}", "\x{423}"));
ok($objRu->gt("\x{4F1}", "\x{443}"));
@@ -101,77 +135,69 @@ ok($objRu->gt("\x{4F9}", "\x{44B}"));
ok($objRu->gt("\x{4F8}", "\x{42B}"));
ok($objRu->gt("\x{4ED}", "\x{44D}"));
ok($objRu->gt("\x{4EC}", "\x{42D}"));
+ok($objRu->gt("\x{477}", "\x{475}"));
+ok($objRu->gt("\x{476}", "\x{474}"));
-# 66
+# 102
$objRu->change(level => 3);
-ok($objRu->eq("\x{4D1}", "\x{430}\x{306}"));
-ok($objRu->eq("\x{4D0}", "\x{410}\x{306}"));
-ok($objRu->eq("\x{4D3}", "\x{430}\x{308}"));
-ok($objRu->eq("\x{4D2}", "\x{410}\x{308}"));
-ok($objRu->eq("\x{453}", "\x{433}\x{301}"));
-ok($objRu->eq("\x{403}", "\x{413}\x{301}"));
-ok($objRu->eq("\x{4D7}", "\x{435}\x{306}"));
-ok($objRu->eq("\x{4D6}", "\x{415}\x{306}"));
-ok($objRu->eq("\x{4DD}", "\x{436}\x{308}"));
-ok($objRu->eq("\x{4DC}", "\x{416}\x{308}"));
-ok($objRu->eq("\x{4DF}", "\x{437}\x{308}"));
-ok($objRu->eq("\x{4DE}", "\x{417}\x{308}"));
-ok($objRu->eq("\x{4E5}", "\x{438}\x{308}"));
-ok($objRu->eq("\x{4E4}", "\x{418}\x{308}"));
-ok($objRu->eq("\x{457}", "\x{456}\x{308}"));
-ok($objRu->eq("\x{407}", "\x{406}\x{308}"));
-ok($objRu->eq("\x{439}", "\x{438}\x{306}"));
-ok($objRu->eq("\x{419}", "\x{418}\x{306}"));
-ok($objRu->eq("\x{4E7}", "\x{43E}\x{308}"));
-ok($objRu->eq("\x{4E6}", "\x{41E}\x{308}"));
-ok($objRu->eq("\x{45C}", "\x{43A}\x{301}"));
-ok($objRu->eq("\x{40C}", "\x{41A}\x{301}"));
-ok($objRu->eq("\x{45E}", "\x{443}\x{306}"));
-ok($objRu->eq("\x{40E}", "\x{423}\x{306}"));
-ok($objRu->eq("\x{4F1}", "\x{443}\x{308}"));
-ok($objRu->eq("\x{4F0}", "\x{423}\x{308}"));
-ok($objRu->eq("\x{4F3}", "\x{443}\x{30B}"));
-ok($objRu->eq("\x{4F2}", "\x{423}\x{30B}"));
-ok($objRu->eq("\x{4F5}", "\x{447}\x{308}"));
-ok($objRu->eq("\x{4F4}", "\x{427}\x{308}"));
-ok($objRu->eq("\x{4F9}", "\x{44B}\x{308}"));
-ok($objRu->eq("\x{4F8}", "\x{42B}\x{308}"));
-ok($objRu->eq("\x{4ED}", "\x{44D}\x{308}"));
-ok($objRu->eq("\x{4EC}", "\x{42D}\x{308}"));
-
-# 100
-
-ok($objRu->eq("\x{4D1}", "\x{430}\0\x{306}"));
-ok($objRu->eq("\x{4D0}", "\x{410}\0\x{306}"));
-ok($objRu->eq("\x{4D3}", "\x{430}\0\x{308}"));
-ok($objRu->eq("\x{4D2}", "\x{410}\0\x{308}"));
-ok($objRu->eq("\x{453}", "\x{433}\0\x{301}"));
-ok($objRu->eq("\x{403}", "\x{413}\0\x{301}"));
-ok($objRu->eq("\x{4D7}", "\x{435}\0\x{306}"));
-ok($objRu->eq("\x{4D6}", "\x{415}\0\x{306}"));
-ok($objRu->eq("\x{4DD}", "\x{436}\0\x{308}"));
-ok($objRu->eq("\x{4DC}", "\x{416}\0\x{308}"));
-ok($objRu->eq("\x{4DF}", "\x{437}\0\x{308}"));
-ok($objRu->eq("\x{4DE}", "\x{417}\0\x{308}"));
-ok($objRu->eq("\x{457}", "\x{456}\0\x{308}"));
-ok($objRu->eq("\x{407}", "\x{406}\0\x{308}"));
-ok($objRu->eq("\x{4E7}", "\x{43E}\0\x{308}"));
-ok($objRu->eq("\x{4E6}", "\x{41E}\0\x{308}"));
-ok($objRu->eq("\x{45C}", "\x{43A}\0\x{301}"));
-ok($objRu->eq("\x{40C}", "\x{41A}\0\x{301}"));
-ok($objRu->eq("\x{45E}", "\x{443}\0\x{306}"));
-ok($objRu->eq("\x{40E}", "\x{423}\0\x{306}"));
-ok($objRu->eq("\x{4F1}", "\x{443}\0\x{308}"));
-ok($objRu->eq("\x{4F0}", "\x{423}\0\x{308}"));
-ok($objRu->eq("\x{4F3}", "\x{443}\0\x{30B}"));
-ok($objRu->eq("\x{4F2}", "\x{423}\0\x{30B}"));
-ok($objRu->eq("\x{4F5}", "\x{447}\0\x{308}"));
-ok($objRu->eq("\x{4F4}", "\x{427}\0\x{308}"));
-ok($objRu->eq("\x{4F9}", "\x{44B}\0\x{308}"));
-ok($objRu->eq("\x{4F8}", "\x{42B}\0\x{308}"));
-ok($objRu->eq("\x{4ED}", "\x{44D}\0\x{308}"));
-ok($objRu->eq("\x{4EC}", "\x{42D}\0\x{308}"));
-
-# 130
+ok($objRu->eq("\x{4E5}", "\x{438}\x{308}")); # not suppressed
+ok($objRu->eq("\x{4E4}", "\x{418}\x{308}")); # not suppressed
+ok($objRu->eq("\x{439}", "\x{438}\x{306}")); # not suppressed
+ok($objRu->eq("\x{419}", "\x{418}\x{306}")); # not suppressed
+
+# 106
+
+for my $i ("", "\0") {
+ ok($objRu->eq("\x{4D1}", "\x{430}$i\x{306}"));
+ ok($objRu->eq("\x{4D0}", "\x{410}$i\x{306}"));
+ ok($objRu->eq("\x{4D3}", "\x{430}$i\x{308}"));
+ ok($objRu->eq("\x{4D2}", "\x{410}$i\x{308}"));
+ ok($objRu->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+ ok($objRu->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+ ok($objRu->eq("\x{453}", "\x{433}$i\x{301}"));
+ ok($objRu->eq("\x{403}", "\x{413}$i\x{301}"));
+ ok($objRu->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
+ ok($objRu->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
+ ok($objRu->eq("\x{451}", "\x{435}$i\x{308}")); # not contraction
+ ok($objRu->eq("\x{401}", "\x{415}$i\x{308}")); # not contraction
+ ok($objRu->eq("\x{4D7}", "\x{435}$i\x{306}"));
+ ok($objRu->eq("\x{4D6}", "\x{415}$i\x{306}"));
+ ok($objRu->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
+ ok($objRu->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
+ ok($objRu->eq("\x{4DD}", "\x{436}$i\x{308}"));
+ ok($objRu->eq("\x{4DC}", "\x{416}$i\x{308}"));
+ ok($objRu->eq("\x{4DF}", "\x{437}$i\x{308}"));
+ ok($objRu->eq("\x{4DE}", "\x{417}$i\x{308}"));
+ ok($objRu->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
+ ok($objRu->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
+ ok($objRu->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
+ ok($objRu->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
+ ok($objRu->eq("\x{457}", "\x{456}$i\x{308}"));
+ ok($objRu->eq("\x{407}", "\x{406}$i\x{308}"));
+ ok($objRu->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+ ok($objRu->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+ ok($objRu->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+ ok($objRu->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+ ok($objRu->eq("\x{45C}", "\x{43A}$i\x{301}"));
+ ok($objRu->eq("\x{40C}", "\x{41A}$i\x{301}"));
+ ok($objRu->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
+ ok($objRu->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
+ ok($objRu->eq("\x{45E}", "\x{443}$i\x{306}"));
+ ok($objRu->eq("\x{40E}", "\x{423}$i\x{306}"));
+ ok($objRu->eq("\x{4F1}", "\x{443}$i\x{308}"));
+ ok($objRu->eq("\x{4F0}", "\x{423}$i\x{308}"));
+ ok($objRu->eq("\x{4F3}", "\x{443}$i\x{30B}"));
+ ok($objRu->eq("\x{4F2}", "\x{423}$i\x{30B}"));
+ ok($objRu->eq("\x{4F5}", "\x{447}$i\x{308}"));
+ ok($objRu->eq("\x{4F4}", "\x{427}$i\x{308}"));
+ ok($objRu->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+ ok($objRu->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+ ok($objRu->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+ ok($objRu->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+ ok($objRu->eq("\x{477}", "\x{475}$i\x{30F}"));
+ ok($objRu->eq("\x{476}", "\x{474}$i\x{30F}"));
+}
+
+# 202
diff --git a/cpan/Unicode-Collate/t/rearrang.t b/cpan/Unicode-Collate/t/rearrang.t
index 0977db9e48..78f77e60cd 100644
--- a/cpan/Unicode-Collate/t/rearrang.t
+++ b/cpan/Unicode-Collate/t/rearrang.t
@@ -34,8 +34,8 @@ my $Collator = Unicode::Collate->new(
my %old_rearrange = $Collator->change(rearrange => undef);
-ok($Collator->gt("\x{0E41}A", "\x{0E40}B"));
-ok($Collator->gt("A\x{0E41}A", "A\x{0E40}B"));
+ok($Collator->gt( "\x{E41}A", "\x{E40}B"));
+ok($Collator->gt("A\x{E41}A", "A\x{E40}B"));
$Collator->change(rearrange => [ 0x61 ]);
# U+0061, 'a': This is a Unicode value, never a native value.
@@ -45,10 +45,10 @@ ok($Collator->gt("ab", "AB")); # as 'ba' > 'AB'
$Collator->change(%old_rearrange);
ok($Collator->lt("ab", "AB"));
-ok($Collator->lt("\x{0E40}", "\x{0E41}"));
-ok($Collator->lt("\x{0E40}A", "\x{0E41}B"));
-ok($Collator->lt("\x{0E41}A", "\x{0E40}B"));
-ok($Collator->lt("A\x{0E41}A", "A\x{0E40}B"));
+ok($Collator->lt( "\x{E40}", "\x{E41}"));
+ok($Collator->lt( "\x{E40}A", "\x{E41}B"));
+ok($Collator->lt( "\x{E41}A", "\x{E40}B"));
+ok($Collator->lt("A\x{E41}A", "A\x{E40}B"));
##### 10..13
@@ -60,10 +60,10 @@ my $all_undef_8 = Unicode::Collate->new(
UCA_Version => 8,
);
-ok($all_undef_8->lt("\x{0E40}", "\x{0E41}"));
-ok($all_undef_8->lt("\x{0E40}A", "\x{0E41}B"));
-ok($all_undef_8->lt("\x{0E41}A", "\x{0E40}B"));
-ok($all_undef_8->lt("A\x{0E41}A", "A\x{0E40}B"));
+ok($all_undef_8->lt( "\x{E40}", "\x{E41}"));
+ok($all_undef_8->lt( "\x{E40}A", "\x{E41}B"));
+ok($all_undef_8->lt( "\x{E41}A", "\x{E40}B"));
+ok($all_undef_8->lt("A\x{E41}A", "A\x{E40}B"));
##### 14..18
@@ -75,10 +75,10 @@ my $no_rearrange = Unicode::Collate->new(
);
ok($no_rearrange->lt("A", "B"));
-ok($no_rearrange->lt("\x{0E40}", "\x{0E41}"));
-ok($no_rearrange->lt("\x{0E40}A", "\x{0E41}B"));
-ok($no_rearrange->gt("\x{0E41}A", "\x{0E40}B"));
-ok($no_rearrange->gt("A\x{0E41}A", "A\x{0E40}B"));
+ok($no_rearrange->lt( "\x{E40}", "\x{E41}"));
+ok($no_rearrange->lt( "\x{E40}A", "\x{E41}B"));
+ok($no_rearrange->gt( "\x{E41}A", "\x{E40}B"));
+ok($no_rearrange->gt("A\x{E41}A", "A\x{E40}B"));
##### 19..23
@@ -90,8 +90,8 @@ my $undef_rearrange = Unicode::Collate->new(
);
ok($undef_rearrange->lt("A", "B"));
-ok($undef_rearrange->lt("\x{0E40}", "\x{0E41}"));
-ok($undef_rearrange->lt("\x{0E40}A", "\x{0E41}B"));
-ok($undef_rearrange->gt("\x{0E41}A", "\x{0E40}B"));
-ok($undef_rearrange->gt("A\x{0E41}A", "A\x{0E40}B"));
+ok($undef_rearrange->lt( "\x{E40}", "\x{E41}"));
+ok($undef_rearrange->lt( "\x{E40}A", "\x{E41}B"));
+ok($undef_rearrange->gt( "\x{E41}A", "\x{E40}B"));
+ok($undef_rearrange->gt("A\x{E41}A", "A\x{E40}B"));