summaryrefslogtreecommitdiff
path: root/cpan/Unicode-Collate/t
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2010-10-17 00:37:58 +0100
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2010-10-17 00:37:58 +0100
commitaa7758f756e0b1b04750a2eeecdc7edbb9000ff6 (patch)
tree4ecf1390ce1ca78fdd0f7435d0056f164c4a4c9c /cpan/Unicode-Collate/t
parentb110ebfd39b99ef18dc9d64c02d8d52190a42816 (diff)
downloadperl-aa7758f756e0b1b04750a2eeecdc7edbb9000ff6.tar.gz
Update Unicode-Collate to CPAN version 0.63
[DELTA] 0.63 Sun Oct 10 22:13:21 2010 - supported suppress contractions (see 'suppress' in POD). - internal for hangul_terminator in getSortKey(). - U::C::Locale newly supports locales: be, bg, kk, mk, ru, sr. - added tailoring with U+0340 or U+0341 instead of U+0300 or U+0301. (affected locales: hr, is, pl, se, to, wo)
Diffstat (limited to 'cpan/Unicode-Collate/t')
-rw-r--r--cpan/Unicode-Collate/t/contract.t53
-rw-r--r--cpan/Unicode-Collate/t/loc_be.t162
-rw-r--r--cpan/Unicode-Collate/t/loc_bg.t162
-rw-r--r--cpan/Unicode-Collate/t/loc_cyrl.t128
-rw-r--r--cpan/Unicode-Collate/t/loc_hr.t8
-rw-r--r--cpan/Unicode-Collate/t/loc_is.t20
-rw-r--r--cpan/Unicode-Collate/t/loc_kk.t185
-rw-r--r--cpan/Unicode-Collate/t/loc_mk.t162
-rw-r--r--cpan/Unicode-Collate/t/loc_pl.t14
-rw-r--r--cpan/Unicode-Collate/t/loc_ru.t162
-rw-r--r--cpan/Unicode-Collate/t/loc_se.t14
-rw-r--r--cpan/Unicode-Collate/t/loc_sr.t162
-rw-r--r--cpan/Unicode-Collate/t/loc_to.t16
-rw-r--r--cpan/Unicode-Collate/t/loc_wo.t10
14 files changed, 1220 insertions, 38 deletions
diff --git a/cpan/Unicode-Collate/t/contract.t b/cpan/Unicode-Collate/t/contract.t
index 9c55ecdc8b..e87239f38a 100644
--- a/cpan/Unicode-Collate/t/contract.t
+++ b/cpan/Unicode-Collate/t/contract.t
@@ -11,7 +11,7 @@ BEGIN {
}
use Test;
-BEGIN { plan tests => 40 };
+BEGIN { plan tests => 44 };
use strict;
use warnings;
@@ -54,16 +54,16 @@ my $kjeNoN = Unicode::Collate->new(
entry => $kjeEntry,
);
-ok($kjeNoN->lt("\x{043A}", "\x{043A}\x{0301}"));
-ok($kjeNoN->gt("\x{045C}", "\x{043A}\x{0334}\x{0301}"));
-ok($kjeNoN->eq("\x{043A}", "\x{043A}\x{0334}\x{0301}"));
-ok($kjeNoN->eq("\x{045C}", "\x{043A}\x{0301}\x{0334}"));
+ok($kjeNoN->lt("\x{43A}", "\x{43A}\x{301}"));
+ok($kjeNoN->gt("\x{45C}", "\x{43A}\x{334}\x{301}"));
+ok($kjeNoN->eq("\x{43A}", "\x{43A}\x{334}\x{301}"));
+ok($kjeNoN->eq("\x{45C}", "\x{43A}\x{301}\x{334}"));
our %sortkeys;
-$sortkeys{'KAac'} = $kjeNoN->viewSortKey("\x{043A}\x{0301}");
-$sortkeys{'KAta'} = $kjeNoN->viewSortKey("\x{043A}\x{0334}\x{0301}");
-$sortkeys{'KAat'} = $kjeNoN->viewSortKey("\x{043A}\x{0301}\x{0334}");
+$sortkeys{'KAac'} = $kjeNoN->viewSortKey("\x{43A}\x{301}");
+$sortkeys{'KAta'} = $kjeNoN->viewSortKey("\x{43A}\x{334}\x{301}");
+$sortkeys{'KAat'} = $kjeNoN->viewSortKey("\x{43A}\x{301}\x{334}");
eval { require Unicode::Normalize };
if (!$@) {
@@ -72,10 +72,10 @@ if (!$@) {
table => undef,
entry => $kjeEntry,
);
-ok($kjeNFD->lt("\x{043A}", "\x{043A}\x{0301}"));
-ok($kjeNFD->eq("\x{045C}", "\x{043A}\x{0334}\x{0301}"));
-ok($kjeNFD->lt("\x{043A}", "\x{043A}\x{0334}\x{0301}"));
-ok($kjeNFD->eq("\x{045C}", "\x{043A}\x{0301}\x{0334}"));
+ok($kjeNFD->lt("\x{43A}", "\x{43A}\x{301}"));
+ok($kjeNFD->eq("\x{45C}", "\x{43A}\x{334}\x{301}"));
+ok($kjeNFD->lt("\x{43A}", "\x{43A}\x{334}\x{301}"));
+ok($kjeNFD->eq("\x{45C}", "\x{43A}\x{301}\x{334}"));
my $aaNFD = Unicode::Collate->new(
level => 1,
@@ -113,14 +113,14 @@ else {
}
# again: loading Unicode::Normalize should not affect $kjeNoN.
-ok($kjeNoN->lt("\x{043A}", "\x{043A}\x{0301}"));
-ok($kjeNoN->gt("\x{045C}", "\x{043A}\x{0334}\x{0301}"));
-ok($kjeNoN->eq("\x{043A}", "\x{043A}\x{0334}\x{0301}"));
-ok($kjeNoN->eq("\x{045C}", "\x{043A}\x{0301}\x{0334}"));
+ok($kjeNoN->lt("\x{43A}", "\x{43A}\x{301}"));
+ok($kjeNoN->gt("\x{45C}", "\x{43A}\x{334}\x{301}"));
+ok($kjeNoN->eq("\x{43A}", "\x{43A}\x{334}\x{301}"));
+ok($kjeNoN->eq("\x{45C}", "\x{43A}\x{301}\x{334}"));
-ok($sortkeys{'KAac'}, $kjeNoN->viewSortKey("\x{043A}\x{0301}"));
-ok($sortkeys{'KAta'}, $kjeNoN->viewSortKey("\x{043A}\x{0334}\x{0301}"));
-ok($sortkeys{'KAat'}, $kjeNoN->viewSortKey("\x{043A}\x{0301}\x{0334}"));
+ok($sortkeys{'KAac'}, $kjeNoN->viewSortKey("\x{43A}\x{301}"));
+ok($sortkeys{'KAta'}, $kjeNoN->viewSortKey("\x{43A}\x{334}\x{301}"));
+ok($sortkeys{'KAat'}, $kjeNoN->viewSortKey("\x{43A}\x{301}\x{334}"));
my $aaNoN = Unicode::Collate->new(
level => 1,
@@ -138,3 +138,18 @@ ok($aaNoN->lt("Z", "A\x{30A}\x{327}"));
ok($aaNoN->eq("A", "A\x{31A}\x{30A}"));
ok($aaNoN->lt("Z", "A\x{30A}\x{31A}"));
+# suppress contractions
+
+my $kjeSup = Unicode::Collate->new(
+ level => 1,
+ table => undef,
+ normalization => undef,
+ entry => $kjeEntry,
+ suppress => [0x400..0x45F],
+);
+
+ok($kjeSup->eq("\x{43A}", "\x{43A}\x{301}"));
+ok($kjeSup->gt("\x{45C}", "\x{43A}\x{301}"));
+ok($kjeSup->eq("\x{41A}", "\x{41A}\x{301}"));
+ok($kjeSup->gt("\x{40C}", "\x{41A}\x{301}"));
+
diff --git a/cpan/Unicode-Collate/t/loc_be.t b/cpan/Unicode-Collate/t/loc_be.t
new file mode 100644
index 0000000000..90f93dbe1b
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_be.t
@@ -0,0 +1,162 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 130;
+
+my $objBe = Unicode::Collate::Locale->
+ new(locale => 'BE', normalization => undef);
+
+ok(1);
+ok($objBe->getlocale, 'be');
+
+$objBe->change(level => 1);
+
+ok($objBe->gt("\x{4E5}", "\x{438}"));
+ok($objBe->gt("\x{4E4}", "\x{418}"));
+ok($objBe->gt("\x{439}", "\x{438}"));
+ok($objBe->gt("\x{419}", "\x{418}"));
+
+# 6
+
+ok($objBe->eq("\x{4D1}", "\x{430}"));
+ok($objBe->eq("\x{4D0}", "\x{410}"));
+ok($objBe->eq("\x{4D3}", "\x{430}"));
+ok($objBe->eq("\x{4D2}", "\x{410}"));
+ok($objBe->eq("\x{453}", "\x{433}"));
+ok($objBe->eq("\x{403}", "\x{413}"));
+ok($objBe->eq("\x{4D7}", "\x{435}"));
+ok($objBe->eq("\x{4D6}", "\x{415}"));
+ok($objBe->eq("\x{4DD}", "\x{436}"));
+ok($objBe->eq("\x{4DC}", "\x{416}"));
+ok($objBe->eq("\x{4DF}", "\x{437}"));
+ok($objBe->eq("\x{4DE}", "\x{417}"));
+ok($objBe->eq("\x{457}", "\x{456}"));
+ok($objBe->eq("\x{407}", "\x{406}"));
+ok($objBe->eq("\x{4E7}", "\x{43E}"));
+ok($objBe->eq("\x{4E6}", "\x{41E}"));
+ok($objBe->eq("\x{45C}", "\x{43A}"));
+ok($objBe->eq("\x{40C}", "\x{41A}"));
+ok($objBe->eq("\x{45E}", "\x{443}"));
+ok($objBe->eq("\x{40E}", "\x{423}"));
+ok($objBe->eq("\x{4F1}", "\x{443}"));
+ok($objBe->eq("\x{4F0}", "\x{423}"));
+ok($objBe->eq("\x{4F3}", "\x{443}"));
+ok($objBe->eq("\x{4F2}", "\x{423}"));
+ok($objBe->eq("\x{4F5}", "\x{447}"));
+ok($objBe->eq("\x{4F4}", "\x{427}"));
+ok($objBe->eq("\x{4F9}", "\x{44B}"));
+ok($objBe->eq("\x{4F8}", "\x{42B}"));
+ok($objBe->eq("\x{4ED}", "\x{44D}"));
+ok($objBe->eq("\x{4EC}", "\x{42D}"));
+
+# 36
+
+$objBe->change(level => 2);
+
+ok($objBe->gt("\x{4D1}", "\x{430}"));
+ok($objBe->gt("\x{4D0}", "\x{410}"));
+ok($objBe->gt("\x{4D3}", "\x{430}"));
+ok($objBe->gt("\x{4D2}", "\x{410}"));
+ok($objBe->gt("\x{453}", "\x{433}"));
+ok($objBe->gt("\x{403}", "\x{413}"));
+ok($objBe->gt("\x{4D7}", "\x{435}"));
+ok($objBe->gt("\x{4D6}", "\x{415}"));
+ok($objBe->gt("\x{4DD}", "\x{436}"));
+ok($objBe->gt("\x{4DC}", "\x{416}"));
+ok($objBe->gt("\x{4DF}", "\x{437}"));
+ok($objBe->gt("\x{4DE}", "\x{417}"));
+ok($objBe->gt("\x{457}", "\x{456}"));
+ok($objBe->gt("\x{407}", "\x{406}"));
+ok($objBe->gt("\x{4E7}", "\x{43E}"));
+ok($objBe->gt("\x{4E6}", "\x{41E}"));
+ok($objBe->gt("\x{45C}", "\x{43A}"));
+ok($objBe->gt("\x{40C}", "\x{41A}"));
+ok($objBe->gt("\x{45E}", "\x{443}"));
+ok($objBe->gt("\x{40E}", "\x{423}"));
+ok($objBe->gt("\x{4F1}", "\x{443}"));
+ok($objBe->gt("\x{4F0}", "\x{423}"));
+ok($objBe->gt("\x{4F3}", "\x{443}"));
+ok($objBe->gt("\x{4F2}", "\x{423}"));
+ok($objBe->gt("\x{4F5}", "\x{447}"));
+ok($objBe->gt("\x{4F4}", "\x{427}"));
+ok($objBe->gt("\x{4F9}", "\x{44B}"));
+ok($objBe->gt("\x{4F8}", "\x{42B}"));
+ok($objBe->gt("\x{4ED}", "\x{44D}"));
+ok($objBe->gt("\x{4EC}", "\x{42D}"));
+
+# 66
+
+$objBe->change(level => 3);
+
+ok($objBe->eq("\x{4D1}", "\x{430}\x{306}"));
+ok($objBe->eq("\x{4D0}", "\x{410}\x{306}"));
+ok($objBe->eq("\x{4D3}", "\x{430}\x{308}"));
+ok($objBe->eq("\x{4D2}", "\x{410}\x{308}"));
+ok($objBe->eq("\x{453}", "\x{433}\x{301}"));
+ok($objBe->eq("\x{403}", "\x{413}\x{301}"));
+ok($objBe->eq("\x{4D7}", "\x{435}\x{306}"));
+ok($objBe->eq("\x{4D6}", "\x{415}\x{306}"));
+ok($objBe->eq("\x{4DD}", "\x{436}\x{308}"));
+ok($objBe->eq("\x{4DC}", "\x{416}\x{308}"));
+ok($objBe->eq("\x{4DF}", "\x{437}\x{308}"));
+ok($objBe->eq("\x{4DE}", "\x{417}\x{308}"));
+ok($objBe->eq("\x{4E5}", "\x{438}\x{308}"));
+ok($objBe->eq("\x{4E4}", "\x{418}\x{308}"));
+ok($objBe->eq("\x{457}", "\x{456}\x{308}"));
+ok($objBe->eq("\x{407}", "\x{406}\x{308}"));
+ok($objBe->eq("\x{439}", "\x{438}\x{306}"));
+ok($objBe->eq("\x{419}", "\x{418}\x{306}"));
+ok($objBe->eq("\x{4E7}", "\x{43E}\x{308}"));
+ok($objBe->eq("\x{4E6}", "\x{41E}\x{308}"));
+ok($objBe->eq("\x{45C}", "\x{43A}\x{301}"));
+ok($objBe->eq("\x{40C}", "\x{41A}\x{301}"));
+ok($objBe->eq("\x{45E}", "\x{443}\x{306}"));
+ok($objBe->eq("\x{40E}", "\x{423}\x{306}"));
+ok($objBe->eq("\x{4F1}", "\x{443}\x{308}"));
+ok($objBe->eq("\x{4F0}", "\x{423}\x{308}"));
+ok($objBe->eq("\x{4F3}", "\x{443}\x{30B}"));
+ok($objBe->eq("\x{4F2}", "\x{423}\x{30B}"));
+ok($objBe->eq("\x{4F5}", "\x{447}\x{308}"));
+ok($objBe->eq("\x{4F4}", "\x{427}\x{308}"));
+ok($objBe->eq("\x{4F9}", "\x{44B}\x{308}"));
+ok($objBe->eq("\x{4F8}", "\x{42B}\x{308}"));
+ok($objBe->eq("\x{4ED}", "\x{44D}\x{308}"));
+ok($objBe->eq("\x{4EC}", "\x{42D}\x{308}"));
+
+# 100
+
+ok($objBe->eq("\x{4D1}", "\x{430}\0\x{306}"));
+ok($objBe->eq("\x{4D0}", "\x{410}\0\x{306}"));
+ok($objBe->eq("\x{4D3}", "\x{430}\0\x{308}"));
+ok($objBe->eq("\x{4D2}", "\x{410}\0\x{308}"));
+ok($objBe->eq("\x{453}", "\x{433}\0\x{301}"));
+ok($objBe->eq("\x{403}", "\x{413}\0\x{301}"));
+ok($objBe->eq("\x{4D7}", "\x{435}\0\x{306}"));
+ok($objBe->eq("\x{4D6}", "\x{415}\0\x{306}"));
+ok($objBe->eq("\x{4DD}", "\x{436}\0\x{308}"));
+ok($objBe->eq("\x{4DC}", "\x{416}\0\x{308}"));
+ok($objBe->eq("\x{4DF}", "\x{437}\0\x{308}"));
+ok($objBe->eq("\x{4DE}", "\x{417}\0\x{308}"));
+ok($objBe->eq("\x{457}", "\x{456}\0\x{308}"));
+ok($objBe->eq("\x{407}", "\x{406}\0\x{308}"));
+ok($objBe->eq("\x{4E7}", "\x{43E}\0\x{308}"));
+ok($objBe->eq("\x{4E6}", "\x{41E}\0\x{308}"));
+ok($objBe->eq("\x{45C}", "\x{43A}\0\x{301}"));
+ok($objBe->eq("\x{40C}", "\x{41A}\0\x{301}"));
+ok($objBe->eq("\x{45E}", "\x{443}\0\x{306}"));
+ok($objBe->eq("\x{40E}", "\x{423}\0\x{306}"));
+ok($objBe->eq("\x{4F1}", "\x{443}\0\x{308}"));
+ok($objBe->eq("\x{4F0}", "\x{423}\0\x{308}"));
+ok($objBe->eq("\x{4F3}", "\x{443}\0\x{30B}"));
+ok($objBe->eq("\x{4F2}", "\x{423}\0\x{30B}"));
+ok($objBe->eq("\x{4F5}", "\x{447}\0\x{308}"));
+ok($objBe->eq("\x{4F4}", "\x{427}\0\x{308}"));
+ok($objBe->eq("\x{4F9}", "\x{44B}\0\x{308}"));
+ok($objBe->eq("\x{4F8}", "\x{42B}\0\x{308}"));
+ok($objBe->eq("\x{4ED}", "\x{44D}\0\x{308}"));
+ok($objBe->eq("\x{4EC}", "\x{42D}\0\x{308}"));
+
+# 130
diff --git a/cpan/Unicode-Collate/t/loc_bg.t b/cpan/Unicode-Collate/t/loc_bg.t
new file mode 100644
index 0000000000..59acb41589
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_bg.t
@@ -0,0 +1,162 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 130;
+
+my $objBg = Unicode::Collate::Locale->
+ new(locale => 'BG', normalization => undef);
+
+ok(1);
+ok($objBg->getlocale, 'bg');
+
+$objBg->change(level => 1);
+
+ok($objBg->gt("\x{4E5}", "\x{438}"));
+ok($objBg->gt("\x{4E4}", "\x{418}"));
+ok($objBg->gt("\x{439}", "\x{438}"));
+ok($objBg->gt("\x{419}", "\x{418}"));
+
+# 6
+
+ok($objBg->eq("\x{4D1}", "\x{430}"));
+ok($objBg->eq("\x{4D0}", "\x{410}"));
+ok($objBg->eq("\x{4D3}", "\x{430}"));
+ok($objBg->eq("\x{4D2}", "\x{410}"));
+ok($objBg->eq("\x{453}", "\x{433}"));
+ok($objBg->eq("\x{403}", "\x{413}"));
+ok($objBg->eq("\x{4D7}", "\x{435}"));
+ok($objBg->eq("\x{4D6}", "\x{415}"));
+ok($objBg->eq("\x{4DD}", "\x{436}"));
+ok($objBg->eq("\x{4DC}", "\x{416}"));
+ok($objBg->eq("\x{4DF}", "\x{437}"));
+ok($objBg->eq("\x{4DE}", "\x{417}"));
+ok($objBg->eq("\x{457}", "\x{456}"));
+ok($objBg->eq("\x{407}", "\x{406}"));
+ok($objBg->eq("\x{4E7}", "\x{43E}"));
+ok($objBg->eq("\x{4E6}", "\x{41E}"));
+ok($objBg->eq("\x{45C}", "\x{43A}"));
+ok($objBg->eq("\x{40C}", "\x{41A}"));
+ok($objBg->eq("\x{45E}", "\x{443}"));
+ok($objBg->eq("\x{40E}", "\x{423}"));
+ok($objBg->eq("\x{4F1}", "\x{443}"));
+ok($objBg->eq("\x{4F0}", "\x{423}"));
+ok($objBg->eq("\x{4F3}", "\x{443}"));
+ok($objBg->eq("\x{4F2}", "\x{423}"));
+ok($objBg->eq("\x{4F5}", "\x{447}"));
+ok($objBg->eq("\x{4F4}", "\x{427}"));
+ok($objBg->eq("\x{4F9}", "\x{44B}"));
+ok($objBg->eq("\x{4F8}", "\x{42B}"));
+ok($objBg->eq("\x{4ED}", "\x{44D}"));
+ok($objBg->eq("\x{4EC}", "\x{42D}"));
+
+# 36
+
+$objBg->change(level => 2);
+
+ok($objBg->gt("\x{4D1}", "\x{430}"));
+ok($objBg->gt("\x{4D0}", "\x{410}"));
+ok($objBg->gt("\x{4D3}", "\x{430}"));
+ok($objBg->gt("\x{4D2}", "\x{410}"));
+ok($objBg->gt("\x{453}", "\x{433}"));
+ok($objBg->gt("\x{403}", "\x{413}"));
+ok($objBg->gt("\x{4D7}", "\x{435}"));
+ok($objBg->gt("\x{4D6}", "\x{415}"));
+ok($objBg->gt("\x{4DD}", "\x{436}"));
+ok($objBg->gt("\x{4DC}", "\x{416}"));
+ok($objBg->gt("\x{4DF}", "\x{437}"));
+ok($objBg->gt("\x{4DE}", "\x{417}"));
+ok($objBg->gt("\x{457}", "\x{456}"));
+ok($objBg->gt("\x{407}", "\x{406}"));
+ok($objBg->gt("\x{4E7}", "\x{43E}"));
+ok($objBg->gt("\x{4E6}", "\x{41E}"));
+ok($objBg->gt("\x{45C}", "\x{43A}"));
+ok($objBg->gt("\x{40C}", "\x{41A}"));
+ok($objBg->gt("\x{45E}", "\x{443}"));
+ok($objBg->gt("\x{40E}", "\x{423}"));
+ok($objBg->gt("\x{4F1}", "\x{443}"));
+ok($objBg->gt("\x{4F0}", "\x{423}"));
+ok($objBg->gt("\x{4F3}", "\x{443}"));
+ok($objBg->gt("\x{4F2}", "\x{423}"));
+ok($objBg->gt("\x{4F5}", "\x{447}"));
+ok($objBg->gt("\x{4F4}", "\x{427}"));
+ok($objBg->gt("\x{4F9}", "\x{44B}"));
+ok($objBg->gt("\x{4F8}", "\x{42B}"));
+ok($objBg->gt("\x{4ED}", "\x{44D}"));
+ok($objBg->gt("\x{4EC}", "\x{42D}"));
+
+# 66
+
+$objBg->change(level => 3);
+
+ok($objBg->eq("\x{4D1}", "\x{430}\x{306}"));
+ok($objBg->eq("\x{4D0}", "\x{410}\x{306}"));
+ok($objBg->eq("\x{4D3}", "\x{430}\x{308}"));
+ok($objBg->eq("\x{4D2}", "\x{410}\x{308}"));
+ok($objBg->eq("\x{453}", "\x{433}\x{301}"));
+ok($objBg->eq("\x{403}", "\x{413}\x{301}"));
+ok($objBg->eq("\x{4D7}", "\x{435}\x{306}"));
+ok($objBg->eq("\x{4D6}", "\x{415}\x{306}"));
+ok($objBg->eq("\x{4DD}", "\x{436}\x{308}"));
+ok($objBg->eq("\x{4DC}", "\x{416}\x{308}"));
+ok($objBg->eq("\x{4DF}", "\x{437}\x{308}"));
+ok($objBg->eq("\x{4DE}", "\x{417}\x{308}"));
+ok($objBg->eq("\x{4E5}", "\x{438}\x{308}"));
+ok($objBg->eq("\x{4E4}", "\x{418}\x{308}"));
+ok($objBg->eq("\x{457}", "\x{456}\x{308}"));
+ok($objBg->eq("\x{407}", "\x{406}\x{308}"));
+ok($objBg->eq("\x{439}", "\x{438}\x{306}"));
+ok($objBg->eq("\x{419}", "\x{418}\x{306}"));
+ok($objBg->eq("\x{4E7}", "\x{43E}\x{308}"));
+ok($objBg->eq("\x{4E6}", "\x{41E}\x{308}"));
+ok($objBg->eq("\x{45C}", "\x{43A}\x{301}"));
+ok($objBg->eq("\x{40C}", "\x{41A}\x{301}"));
+ok($objBg->eq("\x{45E}", "\x{443}\x{306}"));
+ok($objBg->eq("\x{40E}", "\x{423}\x{306}"));
+ok($objBg->eq("\x{4F1}", "\x{443}\x{308}"));
+ok($objBg->eq("\x{4F0}", "\x{423}\x{308}"));
+ok($objBg->eq("\x{4F3}", "\x{443}\x{30B}"));
+ok($objBg->eq("\x{4F2}", "\x{423}\x{30B}"));
+ok($objBg->eq("\x{4F5}", "\x{447}\x{308}"));
+ok($objBg->eq("\x{4F4}", "\x{427}\x{308}"));
+ok($objBg->eq("\x{4F9}", "\x{44B}\x{308}"));
+ok($objBg->eq("\x{4F8}", "\x{42B}\x{308}"));
+ok($objBg->eq("\x{4ED}", "\x{44D}\x{308}"));
+ok($objBg->eq("\x{4EC}", "\x{42D}\x{308}"));
+
+# 100
+
+ok($objBg->eq("\x{4D1}", "\x{430}\0\x{306}"));
+ok($objBg->eq("\x{4D0}", "\x{410}\0\x{306}"));
+ok($objBg->eq("\x{4D3}", "\x{430}\0\x{308}"));
+ok($objBg->eq("\x{4D2}", "\x{410}\0\x{308}"));
+ok($objBg->eq("\x{453}", "\x{433}\0\x{301}"));
+ok($objBg->eq("\x{403}", "\x{413}\0\x{301}"));
+ok($objBg->eq("\x{4D7}", "\x{435}\0\x{306}"));
+ok($objBg->eq("\x{4D6}", "\x{415}\0\x{306}"));
+ok($objBg->eq("\x{4DD}", "\x{436}\0\x{308}"));
+ok($objBg->eq("\x{4DC}", "\x{416}\0\x{308}"));
+ok($objBg->eq("\x{4DF}", "\x{437}\0\x{308}"));
+ok($objBg->eq("\x{4DE}", "\x{417}\0\x{308}"));
+ok($objBg->eq("\x{457}", "\x{456}\0\x{308}"));
+ok($objBg->eq("\x{407}", "\x{406}\0\x{308}"));
+ok($objBg->eq("\x{4E7}", "\x{43E}\0\x{308}"));
+ok($objBg->eq("\x{4E6}", "\x{41E}\0\x{308}"));
+ok($objBg->eq("\x{45C}", "\x{43A}\0\x{301}"));
+ok($objBg->eq("\x{40C}", "\x{41A}\0\x{301}"));
+ok($objBg->eq("\x{45E}", "\x{443}\0\x{306}"));
+ok($objBg->eq("\x{40E}", "\x{423}\0\x{306}"));
+ok($objBg->eq("\x{4F1}", "\x{443}\0\x{308}"));
+ok($objBg->eq("\x{4F0}", "\x{423}\0\x{308}"));
+ok($objBg->eq("\x{4F3}", "\x{443}\0\x{30B}"));
+ok($objBg->eq("\x{4F2}", "\x{423}\0\x{30B}"));
+ok($objBg->eq("\x{4F5}", "\x{447}\0\x{308}"));
+ok($objBg->eq("\x{4F4}", "\x{427}\0\x{308}"));
+ok($objBg->eq("\x{4F9}", "\x{44B}\0\x{308}"));
+ok($objBg->eq("\x{4F8}", "\x{42B}\0\x{308}"));
+ok($objBg->eq("\x{4ED}", "\x{44D}\0\x{308}"));
+ok($objBg->eq("\x{4EC}", "\x{42D}\0\x{308}"));
+
+# 130
diff --git a/cpan/Unicode-Collate/t/loc_cyrl.t b/cpan/Unicode-Collate/t/loc_cyrl.t
new file mode 100644
index 0000000000..c7223ac145
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_cyrl.t
@@ -0,0 +1,128 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 104;
+
+my $objNoSuppress = Unicode::Collate::Locale->
+ new(locale => 'NoSuppress', normalization => undef);
+
+ok(1);
+ok($objNoSuppress->getlocale, 'default');
+
+$objNoSuppress->change(level => 1);
+
+ok($objNoSuppress->ne("\x{4D1}", "\x{430}"));
+ok($objNoSuppress->ne("\x{4D0}", "\x{410}"));
+ok($objNoSuppress->ne("\x{4D3}", "\x{430}"));
+ok($objNoSuppress->ne("\x{4D2}", "\x{410}"));
+ok($objNoSuppress->ne("\x{453}", "\x{433}"));
+ok($objNoSuppress->ne("\x{403}", "\x{413}"));
+ok($objNoSuppress->ne("\x{4D7}", "\x{435}"));
+ok($objNoSuppress->ne("\x{4D6}", "\x{415}"));
+ok($objNoSuppress->ne("\x{4DD}", "\x{436}"));
+ok($objNoSuppress->ne("\x{4DC}", "\x{416}"));
+ok($objNoSuppress->ne("\x{4DF}", "\x{437}"));
+ok($objNoSuppress->ne("\x{4DE}", "\x{417}"));
+ok($objNoSuppress->ne("\x{4E5}", "\x{438}"));
+ok($objNoSuppress->ne("\x{4E4}", "\x{418}"));
+ok($objNoSuppress->ne("\x{457}", "\x{456}"));
+ok($objNoSuppress->ne("\x{407}", "\x{406}"));
+ok($objNoSuppress->ne("\x{439}", "\x{438}"));
+ok($objNoSuppress->ne("\x{419}", "\x{418}"));
+ok($objNoSuppress->ne("\x{4E7}", "\x{43E}"));
+ok($objNoSuppress->ne("\x{4E6}", "\x{41E}"));
+ok($objNoSuppress->ne("\x{45C}", "\x{43A}"));
+ok($objNoSuppress->ne("\x{40C}", "\x{41A}"));
+ok($objNoSuppress->ne("\x{45E}", "\x{443}"));
+ok($objNoSuppress->ne("\x{40E}", "\x{423}"));
+ok($objNoSuppress->ne("\x{4F1}", "\x{443}"));
+ok($objNoSuppress->ne("\x{4F0}", "\x{423}"));
+ok($objNoSuppress->ne("\x{4F3}", "\x{443}"));
+ok($objNoSuppress->ne("\x{4F2}", "\x{423}"));
+ok($objNoSuppress->ne("\x{4F5}", "\x{447}"));
+ok($objNoSuppress->ne("\x{4F4}", "\x{427}"));
+ok($objNoSuppress->ne("\x{4F9}", "\x{44B}"));
+ok($objNoSuppress->ne("\x{4F8}", "\x{42B}"));
+ok($objNoSuppress->ne("\x{4ED}", "\x{44D}"));
+ok($objNoSuppress->ne("\x{4EC}", "\x{42D}"));
+
+# 36
+
+$objNoSuppress->change(level => 3);
+
+ok($objNoSuppress->eq("\x{4D1}", "\x{430}\x{306}"));
+ok($objNoSuppress->eq("\x{4D0}", "\x{410}\x{306}"));
+ok($objNoSuppress->eq("\x{4D3}", "\x{430}\x{308}"));
+ok($objNoSuppress->eq("\x{4D2}", "\x{410}\x{308}"));
+ok($objNoSuppress->eq("\x{453}", "\x{433}\x{301}"));
+ok($objNoSuppress->eq("\x{403}", "\x{413}\x{301}"));
+ok($objNoSuppress->eq("\x{4D7}", "\x{435}\x{306}"));
+ok($objNoSuppress->eq("\x{4D6}", "\x{415}\x{306}"));
+ok($objNoSuppress->eq("\x{4DD}", "\x{436}\x{308}"));
+ok($objNoSuppress->eq("\x{4DC}", "\x{416}\x{308}"));
+ok($objNoSuppress->eq("\x{4DF}", "\x{437}\x{308}"));
+ok($objNoSuppress->eq("\x{4DE}", "\x{417}\x{308}"));
+ok($objNoSuppress->eq("\x{4E5}", "\x{438}\x{308}"));
+ok($objNoSuppress->eq("\x{4E4}", "\x{418}\x{308}"));
+ok($objNoSuppress->eq("\x{457}", "\x{456}\x{308}"));
+ok($objNoSuppress->eq("\x{407}", "\x{406}\x{308}"));
+ok($objNoSuppress->eq("\x{439}", "\x{438}\x{306}"));
+ok($objNoSuppress->eq("\x{419}", "\x{418}\x{306}"));
+ok($objNoSuppress->eq("\x{4E7}", "\x{43E}\x{308}"));
+ok($objNoSuppress->eq("\x{4E6}", "\x{41E}\x{308}"));
+ok($objNoSuppress->eq("\x{45C}", "\x{43A}\x{301}"));
+ok($objNoSuppress->eq("\x{40C}", "\x{41A}\x{301}"));
+ok($objNoSuppress->eq("\x{45E}", "\x{443}\x{306}"));
+ok($objNoSuppress->eq("\x{40E}", "\x{423}\x{306}"));
+ok($objNoSuppress->eq("\x{4F1}", "\x{443}\x{308}"));
+ok($objNoSuppress->eq("\x{4F0}", "\x{423}\x{308}"));
+ok($objNoSuppress->eq("\x{4F3}", "\x{443}\x{30B}"));
+ok($objNoSuppress->eq("\x{4F2}", "\x{423}\x{30B}"));
+ok($objNoSuppress->eq("\x{4F5}", "\x{447}\x{308}"));
+ok($objNoSuppress->eq("\x{4F4}", "\x{427}\x{308}"));
+ok($objNoSuppress->eq("\x{4F9}", "\x{44B}\x{308}"));
+ok($objNoSuppress->eq("\x{4F8}", "\x{42B}\x{308}"));
+ok($objNoSuppress->eq("\x{4ED}", "\x{44D}\x{308}"));
+ok($objNoSuppress->eq("\x{4EC}", "\x{42D}\x{308}"));
+
+# 70
+
+ok($objNoSuppress->ne("\x{4D1}", "\x{430}\0\x{306}"));
+ok($objNoSuppress->ne("\x{4D0}", "\x{410}\0\x{306}"));
+ok($objNoSuppress->ne("\x{4D3}", "\x{430}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4D2}", "\x{410}\0\x{308}"));
+ok($objNoSuppress->ne("\x{453}", "\x{433}\0\x{301}"));
+ok($objNoSuppress->ne("\x{403}", "\x{413}\0\x{301}"));
+ok($objNoSuppress->ne("\x{4D7}", "\x{435}\0\x{306}"));
+ok($objNoSuppress->ne("\x{4D6}", "\x{415}\0\x{306}"));
+ok($objNoSuppress->ne("\x{4DD}", "\x{436}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4DC}", "\x{416}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4DF}", "\x{437}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4DE}", "\x{417}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4E5}", "\x{438}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4E4}", "\x{418}\0\x{308}"));
+ok($objNoSuppress->ne("\x{457}", "\x{456}\0\x{308}"));
+ok($objNoSuppress->ne("\x{407}", "\x{406}\0\x{308}"));
+ok($objNoSuppress->ne("\x{439}", "\x{438}\0\x{306}"));
+ok($objNoSuppress->ne("\x{419}", "\x{418}\0\x{306}"));
+ok($objNoSuppress->ne("\x{4E7}", "\x{43E}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4E6}", "\x{41E}\0\x{308}"));
+ok($objNoSuppress->ne("\x{45C}", "\x{43A}\0\x{301}"));
+ok($objNoSuppress->ne("\x{40C}", "\x{41A}\0\x{301}"));
+ok($objNoSuppress->ne("\x{45E}", "\x{443}\0\x{306}"));
+ok($objNoSuppress->ne("\x{40E}", "\x{423}\0\x{306}"));
+ok($objNoSuppress->ne("\x{4F1}", "\x{443}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4F0}", "\x{423}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4F3}", "\x{443}\0\x{30B}"));
+ok($objNoSuppress->ne("\x{4F2}", "\x{423}\0\x{30B}"));
+ok($objNoSuppress->ne("\x{4F5}", "\x{447}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4F4}", "\x{427}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4F9}", "\x{44B}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4F8}", "\x{42B}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4ED}", "\x{44D}\0\x{308}"));
+ok($objNoSuppress->ne("\x{4EC}", "\x{42D}\0\x{308}"));
+
+# 104
diff --git a/cpan/Unicode-Collate/t/loc_hr.t b/cpan/Unicode-Collate/t/loc_hr.t
index beded45b92..026657e73e 100644
--- a/cpan/Unicode-Collate/t/loc_hr.t
+++ b/cpan/Unicode-Collate/t/loc_hr.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 86;
+plan tests => 88;
my $objHr = Unicode::Collate::Locale->
new(locale => 'HR', normalization => undef);
@@ -77,7 +77,9 @@ ok($objHr->lt("z\x{30C}", "Z\x{30C}"));
ok($objHr->eq("c\x{30C}", "\x{10D}"));
ok($objHr->eq("C\x{30C}", "\x{10C}"));
ok($objHr->eq("c\x{301}", "\x{107}"));
+ok($objHr->eq("c\x{341}", "\x{107}"));
ok($objHr->eq("C\x{301}", "\x{106}"));
+ok($objHr->eq("C\x{341}", "\x{106}"));
ok($objHr->eq("dz\x{30C}", "\x{1C6}"));
ok($objHr->eq("Dz\x{30C}", "\x{1C5}"));
ok($objHr->eq("DZ\x{30C}", "\x{1C4}"));
@@ -98,7 +100,7 @@ ok($objHr->eq("S\x{30C}", "\x{160}"));
ok($objHr->eq("z\x{30C}", "\x{17E}"));
ok($objHr->eq("Z\x{30C}", "\x{17D}"));
-# 72
+# 74
$objHr->change(upper_before_lower => 1);
@@ -117,4 +119,4 @@ ok($objHr->gt("Nj", "NJ"));
ok($objHr->gt("s\x{30C}", "S\x{30C}"));
ok($objHr->gt("z\x{30C}", "Z\x{30C}"));
-# 86
+# 88
diff --git a/cpan/Unicode-Collate/t/loc_is.t b/cpan/Unicode-Collate/t/loc_is.t
index 6e490a3458..e97357caf9 100644
--- a/cpan/Unicode-Collate/t/loc_is.t
+++ b/cpan/Unicode-Collate/t/loc_is.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 98;
+plan tests => 110;
my $eth = pack 'U', 0xF0;
my $ETH = pack 'U', 0xD0;
@@ -105,19 +105,31 @@ ok($objIs->lt($arng, $Arng));
# 57
ok($objIs->eq("a\x{301}", pack('U', 0xE1)));
+ok($objIs->eq("a\x{341}", pack('U', 0xE1)));
ok($objIs->eq("A\x{301}", pack('U', 0xC1)));
+ok($objIs->eq("A\x{341}", pack('U', 0xC1)));
ok($objIs->eq("d\x{335}", "\x{111}"));
ok($objIs->eq("D\x{335}", "\x{110}"));
ok($objIs->eq("e\x{301}", pack('U', 0xE9)));
+ok($objIs->eq("e\x{341}", pack('U', 0xE9)));
ok($objIs->eq("E\x{301}", pack('U', 0xC9)));
+ok($objIs->eq("E\x{341}", pack('U', 0xC9)));
ok($objIs->eq("i\x{301}", pack('U', 0xED)));
+ok($objIs->eq("i\x{341}", pack('U', 0xED)));
ok($objIs->eq("I\x{301}", pack('U', 0xCD)));
+ok($objIs->eq("I\x{341}", pack('U', 0xCD)));
ok($objIs->eq("o\x{301}", pack('U', 0xF3)));
+ok($objIs->eq("o\x{341}", pack('U', 0xF3)));
ok($objIs->eq("O\x{301}", pack('U', 0xD3)));
+ok($objIs->eq("O\x{341}", pack('U', 0xD3)));
ok($objIs->eq("u\x{301}", pack('U', 0xFA)));
+ok($objIs->eq("u\x{341}", pack('U', 0xFA)));
ok($objIs->eq("U\x{301}", pack('U', 0xDA)));
+ok($objIs->eq("U\x{341}", pack('U', 0xDA)));
ok($objIs->eq("y\x{301}", pack('U', 0xFD)));
+ok($objIs->eq("y\x{341}", pack('U', 0xFD)));
ok($objIs->eq("Y\x{301}", pack('U', 0xDD)));
+ok($objIs->eq("Y\x{341}", pack('U', 0xDD)));
ok($objIs->eq("a\x{308}", $auml));
ok($objIs->eq("A\x{308}", $Auml));
ok($objIs->eq("o\x{308}", $ouml));
@@ -127,7 +139,7 @@ ok($objIs->eq("O\x{338}", $Ostk));
ok($objIs->eq("a\x{30A}", $arng));
ok($objIs->eq("A\x{30A}", $Arng));
-# 79
+# 91
ok($objIs->eq("\x{1FD}", "$ae\x{301}"));
ok($objIs->eq("\x{1FC}", "$AE\x{301}"));
@@ -143,7 +155,7 @@ ok($objIs->eq("A\x{30A}", "\x{212B}"));
ok($objIs->eq("a\x{30A}\x{301}", "\x{1FB}"));
ok($objIs->eq("A\x{30A}\x{301}", "\x{1FA}"));
-# 92
+# 104
$objIs->change(upper_before_lower => 1);
@@ -154,4 +166,4 @@ ok($objIs->gt($ouml, $Ouml));
ok($objIs->gt($ostk, $Ostk));
ok($objIs->gt($arng, $Arng));
-# 98
+# 110
diff --git a/cpan/Unicode-Collate/t/loc_kk.t b/cpan/Unicode-Collate/t/loc_kk.t
new file mode 100644
index 0000000000..ecdfd6e95f
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_kk.t
@@ -0,0 +1,185 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 149;
+
+my $objKk = Unicode::Collate::Locale->
+ new(locale => 'KK', normalization => undef);
+
+ok(1);
+ok($objKk->getlocale, 'kk');
+
+$objKk->change(level => 1);
+
+ok($objKk->lt("\x{43E}", "\x{4E9}"));
+ok($objKk->gt("\x{43F}", "\x{4E9}"));
+ok($objKk->lt("\x{443}", "\x{4B1}"));
+ok($objKk->gt("\x{4AF}", "\x{4B1}"));
+ok($objKk->lt("\x{44B}", "\x{456}"));
+ok($objKk->gt("\x{44C}", "\x{456}"));
+
+# 8
+
+ok($objKk->eq("\x{4D1}", "\x{430}"));
+ok($objKk->eq("\x{4D0}", "\x{410}"));
+ok($objKk->eq("\x{4D3}", "\x{430}"));
+ok($objKk->eq("\x{4D2}", "\x{410}"));
+ok($objKk->eq("\x{453}", "\x{433}"));
+ok($objKk->eq("\x{403}", "\x{413}"));
+ok($objKk->eq("\x{4D7}", "\x{435}"));
+ok($objKk->eq("\x{4D6}", "\x{415}"));
+ok($objKk->eq("\x{4DD}", "\x{436}"));
+ok($objKk->eq("\x{4DC}", "\x{416}"));
+ok($objKk->eq("\x{4DF}", "\x{437}"));
+ok($objKk->eq("\x{4DE}", "\x{417}"));
+ok($objKk->eq("\x{4E5}", "\x{438}"));
+ok($objKk->eq("\x{4E4}", "\x{418}"));
+ok($objKk->eq("\x{457}", "\x{456}"));
+ok($objKk->eq("\x{407}", "\x{406}"));
+ok($objKk->eq("\x{439}", "\x{438}"));
+ok($objKk->eq("\x{419}", "\x{418}"));
+ok($objKk->eq("\x{4E7}", "\x{43E}"));
+ok($objKk->eq("\x{4E6}", "\x{41E}"));
+ok($objKk->eq("\x{45C}", "\x{43A}"));
+ok($objKk->eq("\x{40C}", "\x{41A}"));
+ok($objKk->eq("\x{45E}", "\x{443}"));
+ok($objKk->eq("\x{40E}", "\x{423}"));
+ok($objKk->eq("\x{4F1}", "\x{443}"));
+ok($objKk->eq("\x{4F0}", "\x{423}"));
+ok($objKk->eq("\x{4F3}", "\x{443}"));
+ok($objKk->eq("\x{4F2}", "\x{423}"));
+ok($objKk->eq("\x{4F5}", "\x{447}"));
+ok($objKk->eq("\x{4F4}", "\x{427}"));
+ok($objKk->eq("\x{4F9}", "\x{44B}"));
+ok($objKk->eq("\x{4F8}", "\x{42B}"));
+ok($objKk->eq("\x{4ED}", "\x{44D}"));
+ok($objKk->eq("\x{4EC}", "\x{42D}"));
+
+# 42
+
+$objKk->change(level => 2);
+
+ok($objKk->gt("\x{4D1}", "\x{430}"));
+ok($objKk->gt("\x{4D0}", "\x{410}"));
+ok($objKk->gt("\x{4D3}", "\x{430}"));
+ok($objKk->gt("\x{4D2}", "\x{410}"));
+ok($objKk->gt("\x{453}", "\x{433}"));
+ok($objKk->gt("\x{403}", "\x{413}"));
+ok($objKk->gt("\x{4D7}", "\x{435}"));
+ok($objKk->gt("\x{4D6}", "\x{415}"));
+ok($objKk->gt("\x{4DD}", "\x{436}"));
+ok($objKk->gt("\x{4DC}", "\x{416}"));
+ok($objKk->gt("\x{4DF}", "\x{437}"));
+ok($objKk->gt("\x{4DE}", "\x{417}"));
+ok($objKk->gt("\x{4E5}", "\x{438}"));
+ok($objKk->gt("\x{4E4}", "\x{418}"));
+ok($objKk->gt("\x{457}", "\x{456}"));
+ok($objKk->gt("\x{407}", "\x{406}"));
+ok($objKk->gt("\x{439}", "\x{438}"));
+ok($objKk->gt("\x{419}", "\x{418}"));
+ok($objKk->gt("\x{4E7}", "\x{43E}"));
+ok($objKk->gt("\x{4E6}", "\x{41E}"));
+ok($objKk->gt("\x{45C}", "\x{43A}"));
+ok($objKk->gt("\x{40C}", "\x{41A}"));
+ok($objKk->gt("\x{45E}", "\x{443}"));
+ok($objKk->gt("\x{40E}", "\x{423}"));
+ok($objKk->gt("\x{4F1}", "\x{443}"));
+ok($objKk->gt("\x{4F0}", "\x{423}"));
+ok($objKk->gt("\x{4F3}", "\x{443}"));
+ok($objKk->gt("\x{4F2}", "\x{423}"));
+ok($objKk->gt("\x{4F5}", "\x{447}"));
+ok($objKk->gt("\x{4F4}", "\x{427}"));
+ok($objKk->gt("\x{4F9}", "\x{44B}"));
+ok($objKk->gt("\x{4F8}", "\x{42B}"));
+ok($objKk->gt("\x{4ED}", "\x{44D}"));
+ok($objKk->gt("\x{4EC}", "\x{42D}"));
+
+# 76
+
+$objKk->change(level => 3);
+
+ok($objKk->lt("\x{4E9}", "\x{4E8}"));
+ok($objKk->lt("\x{4B1}", "\x{4B0}"));
+ok($objKk->lt("\x{456}", "\x{406}"));
+
+ok($objKk->eq("\x{4EB}", "\x{4E9}\x{308}"));
+ok($objKk->eq("\x{4EA}", "\x{4E8}\x{308}"));
+
+# 81
+
+ok($objKk->eq("\x{4D1}", "\x{430}\x{306}"));
+ok($objKk->eq("\x{4D0}", "\x{410}\x{306}"));
+ok($objKk->eq("\x{4D3}", "\x{430}\x{308}"));
+ok($objKk->eq("\x{4D2}", "\x{410}\x{308}"));
+ok($objKk->eq("\x{453}", "\x{433}\x{301}"));
+ok($objKk->eq("\x{403}", "\x{413}\x{301}"));
+ok($objKk->eq("\x{4D7}", "\x{435}\x{306}"));
+ok($objKk->eq("\x{4D6}", "\x{415}\x{306}"));
+ok($objKk->eq("\x{4DD}", "\x{436}\x{308}"));
+ok($objKk->eq("\x{4DC}", "\x{416}\x{308}"));
+ok($objKk->eq("\x{4DF}", "\x{437}\x{308}"));
+ok($objKk->eq("\x{4DE}", "\x{417}\x{308}"));
+ok($objKk->eq("\x{4E5}", "\x{438}\x{308}"));
+ok($objKk->eq("\x{4E4}", "\x{418}\x{308}"));
+ok($objKk->eq("\x{457}", "\x{456}\x{308}"));
+ok($objKk->eq("\x{407}", "\x{406}\x{308}"));
+ok($objKk->eq("\x{439}", "\x{438}\x{306}"));
+ok($objKk->eq("\x{419}", "\x{418}\x{306}"));
+ok($objKk->eq("\x{4E7}", "\x{43E}\x{308}"));
+ok($objKk->eq("\x{4E6}", "\x{41E}\x{308}"));
+ok($objKk->eq("\x{45C}", "\x{43A}\x{301}"));
+ok($objKk->eq("\x{40C}", "\x{41A}\x{301}"));
+ok($objKk->eq("\x{45E}", "\x{443}\x{306}"));
+ok($objKk->eq("\x{40E}", "\x{423}\x{306}"));
+ok($objKk->eq("\x{4F1}", "\x{443}\x{308}"));
+ok($objKk->eq("\x{4F0}", "\x{423}\x{308}"));
+ok($objKk->eq("\x{4F3}", "\x{443}\x{30B}"));
+ok($objKk->eq("\x{4F2}", "\x{423}\x{30B}"));
+ok($objKk->eq("\x{4F5}", "\x{447}\x{308}"));
+ok($objKk->eq("\x{4F4}", "\x{427}\x{308}"));
+ok($objKk->eq("\x{4F9}", "\x{44B}\x{308}"));
+ok($objKk->eq("\x{4F8}", "\x{42B}\x{308}"));
+ok($objKk->eq("\x{4ED}", "\x{44D}\x{308}"));
+ok($objKk->eq("\x{4EC}", "\x{42D}\x{308}"));
+
+# 115
+
+ok($objKk->eq("\x{4D1}", "\x{430}\0\x{306}"));
+ok($objKk->eq("\x{4D0}", "\x{410}\0\x{306}"));
+ok($objKk->eq("\x{4D3}", "\x{430}\0\x{308}"));
+ok($objKk->eq("\x{4D2}", "\x{410}\0\x{308}"));
+ok($objKk->eq("\x{453}", "\x{433}\0\x{301}"));
+ok($objKk->eq("\x{403}", "\x{413}\0\x{301}"));
+ok($objKk->eq("\x{4D7}", "\x{435}\0\x{306}"));
+ok($objKk->eq("\x{4D6}", "\x{415}\0\x{306}"));
+ok($objKk->eq("\x{4DD}", "\x{436}\0\x{308}"));
+ok($objKk->eq("\x{4DC}", "\x{416}\0\x{308}"));
+ok($objKk->eq("\x{4DF}", "\x{437}\0\x{308}"));
+ok($objKk->eq("\x{4DE}", "\x{417}\0\x{308}"));
+ok($objKk->eq("\x{4E5}", "\x{438}\0\x{308}"));
+ok($objKk->eq("\x{4E4}", "\x{418}\0\x{308}"));
+ok($objKk->eq("\x{457}", "\x{456}\0\x{308}"));
+ok($objKk->eq("\x{407}", "\x{406}\0\x{308}"));
+ok($objKk->eq("\x{439}", "\x{438}\0\x{306}"));
+ok($objKk->eq("\x{419}", "\x{418}\0\x{306}"));
+ok($objKk->eq("\x{4E7}", "\x{43E}\0\x{308}"));
+ok($objKk->eq("\x{4E6}", "\x{41E}\0\x{308}"));
+ok($objKk->eq("\x{45C}", "\x{43A}\0\x{301}"));
+ok($objKk->eq("\x{40C}", "\x{41A}\0\x{301}"));
+ok($objKk->eq("\x{45E}", "\x{443}\0\x{306}"));
+ok($objKk->eq("\x{40E}", "\x{423}\0\x{306}"));
+ok($objKk->eq("\x{4F1}", "\x{443}\0\x{308}"));
+ok($objKk->eq("\x{4F0}", "\x{423}\0\x{308}"));
+ok($objKk->eq("\x{4F3}", "\x{443}\0\x{30B}"));
+ok($objKk->eq("\x{4F2}", "\x{423}\0\x{30B}"));
+ok($objKk->eq("\x{4F5}", "\x{447}\0\x{308}"));
+ok($objKk->eq("\x{4F4}", "\x{427}\0\x{308}"));
+ok($objKk->eq("\x{4F9}", "\x{44B}\0\x{308}"));
+ok($objKk->eq("\x{4F8}", "\x{42B}\0\x{308}"));
+ok($objKk->eq("\x{4ED}", "\x{44D}\0\x{308}"));
+ok($objKk->eq("\x{4EC}", "\x{42D}\0\x{308}"));
+
+# 149
diff --git a/cpan/Unicode-Collate/t/loc_mk.t b/cpan/Unicode-Collate/t/loc_mk.t
new file mode 100644
index 0000000000..87164baa25
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_mk.t
@@ -0,0 +1,162 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 130;
+
+my $objMk = Unicode::Collate::Locale->
+ new(locale => 'MK', normalization => undef);
+
+ok(1);
+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}"));
+
+# 6
+
+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{4D7}", "\x{435}"));
+ok($objMk->eq("\x{4D6}", "\x{415}"));
+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{457}", "\x{456}"));
+ok($objMk->eq("\x{407}", "\x{406}"));
+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{45E}", "\x{443}"));
+ok($objMk->eq("\x{40E}", "\x{423}"));
+ok($objMk->eq("\x{4F1}", "\x{443}"));
+ok($objMk->eq("\x{4F0}", "\x{423}"));
+ok($objMk->eq("\x{4F3}", "\x{443}"));
+ok($objMk->eq("\x{4F2}", "\x{423}"));
+ok($objMk->eq("\x{4F5}", "\x{447}"));
+ok($objMk->eq("\x{4F4}", "\x{427}"));
+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}"));
+
+# 36
+
+$objMk->change(level => 2);
+
+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{4D7}", "\x{435}"));
+ok($objMk->gt("\x{4D6}", "\x{415}"));
+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{457}", "\x{456}"));
+ok($objMk->gt("\x{407}", "\x{406}"));
+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{45E}", "\x{443}"));
+ok($objMk->gt("\x{40E}", "\x{423}"));
+ok($objMk->gt("\x{4F1}", "\x{443}"));
+ok($objMk->gt("\x{4F0}", "\x{423}"));
+ok($objMk->gt("\x{4F3}", "\x{443}"));
+ok($objMk->gt("\x{4F2}", "\x{423}"));
+ok($objMk->gt("\x{4F5}", "\x{447}"));
+ok($objMk->gt("\x{4F4}", "\x{427}"));
+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}"));
+
+# 66
+
+$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
diff --git a/cpan/Unicode-Collate/t/loc_pl.t b/cpan/Unicode-Collate/t/loc_pl.t
index 380744930a..5291062fe1 100644
--- a/cpan/Unicode-Collate/t/loc_pl.t
+++ b/cpan/Unicode-Collate/t/loc_pl.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 55;
+plan tests => 65;
my $objPl = Unicode::Collate::Locale->
new(locale => 'PL', normalization => undef);
@@ -65,20 +65,30 @@ ok($objPl->lt("z\x{307}", "Z\x{307}"));
ok($objPl->eq("a\x{328}", "\x{105}"));
ok($objPl->eq("A\x{328}", "\x{104}"));
ok($objPl->eq("c\x{301}", "\x{107}"));
+ok($objPl->eq("c\x{341}", "\x{107}"));
ok($objPl->eq("C\x{301}", "\x{106}"));
+ok($objPl->eq("C\x{341}", "\x{106}"));
ok($objPl->eq("e\x{328}", "\x{119}"));
ok($objPl->eq("E\x{328}", "\x{118}"));
ok($objPl->eq("l\x{335}", "\x{142}"));
ok($objPl->eq("L\x{335}", "\x{141}"));
ok($objPl->eq("n\x{301}", "\x{144}"));
+ok($objPl->eq("n\x{341}", "\x{144}"));
ok($objPl->eq("N\x{301}", "\x{143}"));
+ok($objPl->eq("N\x{341}", "\x{143}"));
ok($objPl->eq("o\x{301}", pack('U', 0xF3)));
+ok($objPl->eq("o\x{341}", pack('U', 0xF3)));
ok($objPl->eq("O\x{301}", pack('U', 0xD3)));
+ok($objPl->eq("O\x{341}", pack('U', 0xD3)));
ok($objPl->eq("s\x{301}", "\x{15B}"));
+ok($objPl->eq("s\x{341}", "\x{15B}"));
ok($objPl->eq("S\x{301}", "\x{15A}"));
+ok($objPl->eq("S\x{341}", "\x{15A}"));
ok($objPl->eq("z\x{301}", "\x{17A}"));
+ok($objPl->eq("z\x{341}", "\x{17A}"));
ok($objPl->eq("Z\x{301}", "\x{179}"));
+ok($objPl->eq("Z\x{341}", "\x{179}"));
ok($objPl->eq("z\x{307}", "\x{17C}"));
ok($objPl->eq("Z\x{307}", "\x{17B}"));
-# 55
+# 65
diff --git a/cpan/Unicode-Collate/t/loc_ru.t b/cpan/Unicode-Collate/t/loc_ru.t
new file mode 100644
index 0000000000..111f81d91d
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_ru.t
@@ -0,0 +1,162 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 130;
+
+my $objRu = Unicode::Collate::Locale->
+ new(locale => 'RU', normalization => undef);
+
+ok(1);
+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}"));
+
+# 6
+
+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{453}", "\x{433}"));
+ok($objRu->eq("\x{403}", "\x{413}"));
+ok($objRu->eq("\x{4D7}", "\x{435}"));
+ok($objRu->eq("\x{4D6}", "\x{415}"));
+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{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{45C}", "\x{43A}"));
+ok($objRu->eq("\x{40C}", "\x{41A}"));
+ok($objRu->eq("\x{45E}", "\x{443}"));
+ok($objRu->eq("\x{40E}", "\x{423}"));
+ok($objRu->eq("\x{4F1}", "\x{443}"));
+ok($objRu->eq("\x{4F0}", "\x{423}"));
+ok($objRu->eq("\x{4F3}", "\x{443}"));
+ok($objRu->eq("\x{4F2}", "\x{423}"));
+ok($objRu->eq("\x{4F5}", "\x{447}"));
+ok($objRu->eq("\x{4F4}", "\x{427}"));
+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}"));
+
+# 36
+
+$objRu->change(level => 2);
+
+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{453}", "\x{433}"));
+ok($objRu->gt("\x{403}", "\x{413}"));
+ok($objRu->gt("\x{4D7}", "\x{435}"));
+ok($objRu->gt("\x{4D6}", "\x{415}"));
+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{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{45C}", "\x{43A}"));
+ok($objRu->gt("\x{40C}", "\x{41A}"));
+ok($objRu->gt("\x{45E}", "\x{443}"));
+ok($objRu->gt("\x{40E}", "\x{423}"));
+ok($objRu->gt("\x{4F1}", "\x{443}"));
+ok($objRu->gt("\x{4F0}", "\x{423}"));
+ok($objRu->gt("\x{4F3}", "\x{443}"));
+ok($objRu->gt("\x{4F2}", "\x{423}"));
+ok($objRu->gt("\x{4F5}", "\x{447}"));
+ok($objRu->gt("\x{4F4}", "\x{427}"));
+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}"));
+
+# 66
+
+$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
diff --git a/cpan/Unicode-Collate/t/loc_se.t b/cpan/Unicode-Collate/t/loc_se.t
index 5921fd49b0..9e3ecf0037 100644
--- a/cpan/Unicode-Collate/t/loc_se.t
+++ b/cpan/Unicode-Collate/t/loc_se.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 213;
+plan tests => 217;
my $objSe = Unicode::Collate::Locale->
new(locale => 'SE', normalization => undef);
@@ -155,7 +155,9 @@ ok($objSe->lt("o\x{328}", "O\x{328}"));
# 116
ok($objSe->eq("a\x{301}", pack('U', 0xE1)));
+ok($objSe->eq("a\x{341}", pack('U', 0xE1)));
ok($objSe->eq("A\x{301}", pack('U', 0xC1)));
+ok($objSe->eq("A\x{341}", pack('U', 0xC1)));
ok($objSe->eq("c\x{30C}", "\x{10D}"));
ok($objSe->eq("C\x{30C}", "\x{10C}"));
ok($objSe->eq("\x{1EF}", "\x{292}\x{30C}"));
@@ -167,7 +169,9 @@ ok($objSe->eq("G\x{30C}", "\x{1E6}"));
ok($objSe->eq("k\x{30C}", "\x{1E9}"));
ok($objSe->eq("K\x{30C}", "\x{1E8}"));
ok($objSe->eq("n\x{301}", "\x{144}"));
+ok($objSe->eq("n\x{341}", "\x{144}"));
ok($objSe->eq("N\x{301}", "\x{143}"));
+ok($objSe->eq("N\x{341}", "\x{143}"));
ok($objSe->eq("n\x{303}", pack('U', 0xF1)));
ok($objSe->eq("N\x{303}", pack('U', 0xD1)));
ok($objSe->eq("s\x{30C}", "\x{161}"));
@@ -177,7 +181,7 @@ ok($objSe->eq("U\x{308}", pack('U', 0xDC)));
ok($objSe->eq("u\x{30B}", "\x{171}"));
ok($objSe->eq("U\x{30B}", "\x{170}"));
-# 138
+# 142
ok($objSe->eq("z\x{30C}", "\x{17E}"));
ok($objSe->eq("Z\x{30C}", "\x{17D}"));
@@ -202,7 +206,7 @@ ok($objSe->eq("O\x{302}", pack('U', 0xD4)));
ok($objSe->eq("o\x{328}", "\x{1EB}"));
ok($objSe->eq("O\x{328}", "\x{1EA}"));
-# 160
+# 164
ok($objSe->eq("u\x{308}\x{300}", "\x{1DC}"));
ok($objSe->eq("U\x{308}\x{300}", "\x{1DB}"));
@@ -247,7 +251,7 @@ ok($objSe->eq("O\x{302}\x{309}", "\x{1ED4}"));
ok($objSe->eq("o\x{302}\x{323}", "\x{1ED9}"));
ok($objSe->eq("O\x{302}\x{323}", "\x{1ED8}"));
-# 199
+# 203
$objSe->change(upper_before_lower => 1);
@@ -266,4 +270,4 @@ ok($objSe->gt("o\x{303}", "O\x{303}"));
ok($objSe->gt("o\x{302}", "O\x{302}"));
ok($objSe->gt("o\x{328}", "O\x{328}"));
-# 213
+# 217
diff --git a/cpan/Unicode-Collate/t/loc_sr.t b/cpan/Unicode-Collate/t/loc_sr.t
new file mode 100644
index 0000000000..a80fc6208d
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_sr.t
@@ -0,0 +1,162 @@
+#!perl
+use strict;
+use warnings;
+use Unicode::Collate::Locale;
+
+use Test;
+plan tests => 130;
+
+my $objSr = Unicode::Collate::Locale->
+ new(locale => 'SR', normalization => undef);
+
+ok(1);
+ok($objSr->getlocale, 'sr');
+
+$objSr->change(level => 1);
+
+ok($objSr->gt("\x{4E5}", "\x{438}"));
+ok($objSr->gt("\x{4E4}", "\x{418}"));
+ok($objSr->gt("\x{439}", "\x{438}"));
+ok($objSr->gt("\x{419}", "\x{418}"));
+
+# 6
+
+ok($objSr->eq("\x{4D1}", "\x{430}"));
+ok($objSr->eq("\x{4D0}", "\x{410}"));
+ok($objSr->eq("\x{4D3}", "\x{430}"));
+ok($objSr->eq("\x{4D2}", "\x{410}"));
+ok($objSr->eq("\x{453}", "\x{433}"));
+ok($objSr->eq("\x{403}", "\x{413}"));
+ok($objSr->eq("\x{4D7}", "\x{435}"));
+ok($objSr->eq("\x{4D6}", "\x{415}"));
+ok($objSr->eq("\x{4DD}", "\x{436}"));
+ok($objSr->eq("\x{4DC}", "\x{416}"));
+ok($objSr->eq("\x{4DF}", "\x{437}"));
+ok($objSr->eq("\x{4DE}", "\x{417}"));
+ok($objSr->eq("\x{457}", "\x{456}"));
+ok($objSr->eq("\x{407}", "\x{406}"));
+ok($objSr->eq("\x{4E7}", "\x{43E}"));
+ok($objSr->eq("\x{4E6}", "\x{41E}"));
+ok($objSr->eq("\x{45C}", "\x{43A}"));
+ok($objSr->eq("\x{40C}", "\x{41A}"));
+ok($objSr->eq("\x{45E}", "\x{443}"));
+ok($objSr->eq("\x{40E}", "\x{423}"));
+ok($objSr->eq("\x{4F1}", "\x{443}"));
+ok($objSr->eq("\x{4F0}", "\x{423}"));
+ok($objSr->eq("\x{4F3}", "\x{443}"));
+ok($objSr->eq("\x{4F2}", "\x{423}"));
+ok($objSr->eq("\x{4F5}", "\x{447}"));
+ok($objSr->eq("\x{4F4}", "\x{427}"));
+ok($objSr->eq("\x{4F9}", "\x{44B}"));
+ok($objSr->eq("\x{4F8}", "\x{42B}"));
+ok($objSr->eq("\x{4ED}", "\x{44D}"));
+ok($objSr->eq("\x{4EC}", "\x{42D}"));
+
+# 36
+
+$objSr->change(level => 2);
+
+ok($objSr->gt("\x{4D1}", "\x{430}"));
+ok($objSr->gt("\x{4D0}", "\x{410}"));
+ok($objSr->gt("\x{4D3}", "\x{430}"));
+ok($objSr->gt("\x{4D2}", "\x{410}"));
+ok($objSr->gt("\x{453}", "\x{433}"));
+ok($objSr->gt("\x{403}", "\x{413}"));
+ok($objSr->gt("\x{4D7}", "\x{435}"));
+ok($objSr->gt("\x{4D6}", "\x{415}"));
+ok($objSr->gt("\x{4DD}", "\x{436}"));
+ok($objSr->gt("\x{4DC}", "\x{416}"));
+ok($objSr->gt("\x{4DF}", "\x{437}"));
+ok($objSr->gt("\x{4DE}", "\x{417}"));
+ok($objSr->gt("\x{457}", "\x{456}"));
+ok($objSr->gt("\x{407}", "\x{406}"));
+ok($objSr->gt("\x{4E7}", "\x{43E}"));
+ok($objSr->gt("\x{4E6}", "\x{41E}"));
+ok($objSr->gt("\x{45C}", "\x{43A}"));
+ok($objSr->gt("\x{40C}", "\x{41A}"));
+ok($objSr->gt("\x{45E}", "\x{443}"));
+ok($objSr->gt("\x{40E}", "\x{423}"));
+ok($objSr->gt("\x{4F1}", "\x{443}"));
+ok($objSr->gt("\x{4F0}", "\x{423}"));
+ok($objSr->gt("\x{4F3}", "\x{443}"));
+ok($objSr->gt("\x{4F2}", "\x{423}"));
+ok($objSr->gt("\x{4F5}", "\x{447}"));
+ok($objSr->gt("\x{4F4}", "\x{427}"));
+ok($objSr->gt("\x{4F9}", "\x{44B}"));
+ok($objSr->gt("\x{4F8}", "\x{42B}"));
+ok($objSr->gt("\x{4ED}", "\x{44D}"));
+ok($objSr->gt("\x{4EC}", "\x{42D}"));
+
+# 66
+
+$objSr->change(level => 3);
+
+ok($objSr->eq("\x{4D1}", "\x{430}\x{306}"));
+ok($objSr->eq("\x{4D0}", "\x{410}\x{306}"));
+ok($objSr->eq("\x{4D3}", "\x{430}\x{308}"));
+ok($objSr->eq("\x{4D2}", "\x{410}\x{308}"));
+ok($objSr->eq("\x{453}", "\x{433}\x{301}"));
+ok($objSr->eq("\x{403}", "\x{413}\x{301}"));
+ok($objSr->eq("\x{4D7}", "\x{435}\x{306}"));
+ok($objSr->eq("\x{4D6}", "\x{415}\x{306}"));
+ok($objSr->eq("\x{4DD}", "\x{436}\x{308}"));
+ok($objSr->eq("\x{4DC}", "\x{416}\x{308}"));
+ok($objSr->eq("\x{4DF}", "\x{437}\x{308}"));
+ok($objSr->eq("\x{4DE}", "\x{417}\x{308}"));
+ok($objSr->eq("\x{4E5}", "\x{438}\x{308}"));
+ok($objSr->eq("\x{4E4}", "\x{418}\x{308}"));
+ok($objSr->eq("\x{457}", "\x{456}\x{308}"));
+ok($objSr->eq("\x{407}", "\x{406}\x{308}"));
+ok($objSr->eq("\x{439}", "\x{438}\x{306}"));
+ok($objSr->eq("\x{419}", "\x{418}\x{306}"));
+ok($objSr->eq("\x{4E7}", "\x{43E}\x{308}"));
+ok($objSr->eq("\x{4E6}", "\x{41E}\x{308}"));
+ok($objSr->eq("\x{45C}", "\x{43A}\x{301}"));
+ok($objSr->eq("\x{40C}", "\x{41A}\x{301}"));
+ok($objSr->eq("\x{45E}", "\x{443}\x{306}"));
+ok($objSr->eq("\x{40E}", "\x{423}\x{306}"));
+ok($objSr->eq("\x{4F1}", "\x{443}\x{308}"));
+ok($objSr->eq("\x{4F0}", "\x{423}\x{308}"));
+ok($objSr->eq("\x{4F3}", "\x{443}\x{30B}"));
+ok($objSr->eq("\x{4F2}", "\x{423}\x{30B}"));
+ok($objSr->eq("\x{4F5}", "\x{447}\x{308}"));
+ok($objSr->eq("\x{4F4}", "\x{427}\x{308}"));
+ok($objSr->eq("\x{4F9}", "\x{44B}\x{308}"));
+ok($objSr->eq("\x{4F8}", "\x{42B}\x{308}"));
+ok($objSr->eq("\x{4ED}", "\x{44D}\x{308}"));
+ok($objSr->eq("\x{4EC}", "\x{42D}\x{308}"));
+
+# 100
+
+ok($objSr->eq("\x{4D1}", "\x{430}\0\x{306}"));
+ok($objSr->eq("\x{4D0}", "\x{410}\0\x{306}"));
+ok($objSr->eq("\x{4D3}", "\x{430}\0\x{308}"));
+ok($objSr->eq("\x{4D2}", "\x{410}\0\x{308}"));
+ok($objSr->eq("\x{453}", "\x{433}\0\x{301}"));
+ok($objSr->eq("\x{403}", "\x{413}\0\x{301}"));
+ok($objSr->eq("\x{4D7}", "\x{435}\0\x{306}"));
+ok($objSr->eq("\x{4D6}", "\x{415}\0\x{306}"));
+ok($objSr->eq("\x{4DD}", "\x{436}\0\x{308}"));
+ok($objSr->eq("\x{4DC}", "\x{416}\0\x{308}"));
+ok($objSr->eq("\x{4DF}", "\x{437}\0\x{308}"));
+ok($objSr->eq("\x{4DE}", "\x{417}\0\x{308}"));
+ok($objSr->eq("\x{457}", "\x{456}\0\x{308}"));
+ok($objSr->eq("\x{407}", "\x{406}\0\x{308}"));
+ok($objSr->eq("\x{4E7}", "\x{43E}\0\x{308}"));
+ok($objSr->eq("\x{4E6}", "\x{41E}\0\x{308}"));
+ok($objSr->eq("\x{45C}", "\x{43A}\0\x{301}"));
+ok($objSr->eq("\x{40C}", "\x{41A}\0\x{301}"));
+ok($objSr->eq("\x{45E}", "\x{443}\0\x{306}"));
+ok($objSr->eq("\x{40E}", "\x{423}\0\x{306}"));
+ok($objSr->eq("\x{4F1}", "\x{443}\0\x{308}"));
+ok($objSr->eq("\x{4F0}", "\x{423}\0\x{308}"));
+ok($objSr->eq("\x{4F3}", "\x{443}\0\x{30B}"));
+ok($objSr->eq("\x{4F2}", "\x{423}\0\x{30B}"));
+ok($objSr->eq("\x{4F5}", "\x{447}\0\x{308}"));
+ok($objSr->eq("\x{4F4}", "\x{427}\0\x{308}"));
+ok($objSr->eq("\x{4F9}", "\x{44B}\0\x{308}"));
+ok($objSr->eq("\x{4F8}", "\x{42B}\0\x{308}"));
+ok($objSr->eq("\x{4ED}", "\x{44D}\0\x{308}"));
+ok($objSr->eq("\x{4EC}", "\x{42D}\0\x{308}"));
+
+# 130
diff --git a/cpan/Unicode-Collate/t/loc_to.t b/cpan/Unicode-Collate/t/loc_to.t
index e7acf46553..a14c7290f0 100644
--- a/cpan/Unicode-Collate/t/loc_to.t
+++ b/cpan/Unicode-Collate/t/loc_to.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 122;
+plan tests => 132;
my $objTo = Unicode::Collate::Locale->
new(locale => 'TO', normalization => undef);
@@ -124,17 +124,27 @@ ok($objTo->eq("u\x{304}", "\x{16B}"));
ok($objTo->eq("U\x{304}", "\x{16A}"));
ok($objTo->eq("a\x{301}", pack('U', 0xE1)));
+ok($objTo->eq("a\x{341}", pack('U', 0xE1)));
ok($objTo->eq("A\x{301}", pack('U', 0xC1)));
+ok($objTo->eq("A\x{341}", pack('U', 0xC1)));
ok($objTo->eq("e\x{301}", pack('U', 0xE9)));
+ok($objTo->eq("e\x{341}", pack('U', 0xE9)));
ok($objTo->eq("E\x{301}", pack('U', 0xC9)));
+ok($objTo->eq("E\x{341}", pack('U', 0xC9)));
ok($objTo->eq("i\x{301}", pack('U', 0xED)));
+ok($objTo->eq("i\x{341}", pack('U', 0xED)));
ok($objTo->eq("I\x{301}", pack('U', 0xCD)));
+ok($objTo->eq("I\x{341}", pack('U', 0xCD)));
ok($objTo->eq("o\x{301}", pack('U', 0xF3)));
+ok($objTo->eq("o\x{341}", pack('U', 0xF3)));
ok($objTo->eq("O\x{301}", pack('U', 0xD3)));
+ok($objTo->eq("O\x{341}", pack('U', 0xD3)));
ok($objTo->eq("u\x{301}", pack('U', 0xFA)));
+ok($objTo->eq("u\x{341}", pack('U', 0xFA)));
ok($objTo->eq("U\x{301}", pack('U', 0xDA)));
+ok($objTo->eq("U\x{341}", pack('U', 0xDA)));
-# 97
+# 107
$objTo->change(upper_before_lower => 1);
@@ -166,4 +176,4 @@ ok($objTo->lt("O\x{304}", "O\x{301}"));
ok($objTo->lt("u\x{304}", "u\x{301}"));
ok($objTo->lt("U\x{304}", "U\x{301}"));
-# 122
+# 132
diff --git a/cpan/Unicode-Collate/t/loc_wo.t b/cpan/Unicode-Collate/t/loc_wo.t
index ceff5068e9..48cb8df21d 100644
--- a/cpan/Unicode-Collate/t/loc_wo.t
+++ b/cpan/Unicode-Collate/t/loc_wo.t
@@ -4,7 +4,7 @@ use warnings;
use Unicode::Collate::Locale;
use Test;
-plan tests => 34;
+plan tests => 40;
my $objWo = Unicode::Collate::Locale->
new(locale => 'WO', normalization => undef);
@@ -50,14 +50,20 @@ ok($objWo->lt("o\x{301}", "O\x{301}"));
# 24
ok($objWo->eq("a\x{300}", pack('U', 0xE0)));
+ok($objWo->eq("a\x{340}", pack('U', 0xE0)));
ok($objWo->eq("A\x{300}", pack('U', 0xC0)));
+ok($objWo->eq("A\x{340}", pack('U', 0xC0)));
ok($objWo->eq("e\x{301}", pack('U', 0xE9)));
+ok($objWo->eq("e\x{341}", pack('U', 0xE9)));
ok($objWo->eq("E\x{301}", pack('U', 0xC9)));
+ok($objWo->eq("E\x{341}", pack('U', 0xC9)));
ok($objWo->eq("e\x{308}", pack('U', 0xEB)));
ok($objWo->eq("E\x{308}", pack('U', 0xCB)));
ok($objWo->eq("n\x{303}", pack('U', 0xF1)));
ok($objWo->eq("N\x{303}", pack('U', 0xD1)));
ok($objWo->eq("o\x{301}", pack('U', 0xF3)));
+ok($objWo->eq("o\x{341}", pack('U', 0xF3)));
ok($objWo->eq("O\x{301}", pack('U', 0xD3)));
+ok($objWo->eq("O\x{341}", pack('U', 0xD3)));
-# 34
+# 40