summaryrefslogtreecommitdiff
path: root/cpan/Unicode-Collate/t/default.t
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2012-12-15 13:29:13 +0000
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2012-12-15 13:29:13 +0000
commit6d3c12b51eab17f76fe9a1afc3d7023d3cdb6a6b (patch)
tree399169b454d31a1358abae400a3783451138159c /cpan/Unicode-Collate/t/default.t
parentfc826e38a4eb6efa4cfc92de662b40a6d5333e5e (diff)
downloadperl-6d3c12b51eab17f76fe9a1afc3d7023d3cdb6a6b.tar.gz
Update Unicode-Collate to CPAN version 0.96
[DELTA] 0.96 Sat Dec 15 19:43:10 2012 - special noncharancter tailorings ('highestFFFF' and 'minimalFFFE') * some locales are modified for 'highestFFFF': as, bn, fa, gu, hi, hy, kn, kok, mr, or, sa, si, si_dict, ta, te, th, ur. - U::C::Locale now allows 'entry' to add or override mappings. - bug fix: using DUCET through XS wrongly prevented completely ignorable characters from tailoring. - modified tests: default.t, loc_as.t, loc_bn.t, loc_fa.t, loc_gu.t, loc_hi.t, loc_hy.t, loc_kn.t, loc_kok.t, loc_mr.t, loc_or.t, loc_sa.t, loc_si.t, loc_sidt.t, loc_ta.t, loc_te.t, loc_test.t, loc_th.t, loc_ur.t, nonchar.t in t.
Diffstat (limited to 'cpan/Unicode-Collate/t/default.t')
-rw-r--r--cpan/Unicode-Collate/t/default.t53
1 files changed, 39 insertions, 14 deletions
diff --git a/cpan/Unicode-Collate/t/default.t b/cpan/Unicode-Collate/t/default.t
index bec9c294fd..14a96937e6 100644
--- a/cpan/Unicode-Collate/t/default.t
+++ b/cpan/Unicode-Collate/t/default.t
@@ -13,7 +13,7 @@ BEGIN {
use strict;
use warnings;
-BEGIN { $| = 1; print "1..60\n"; }
+BEGIN { $| = 1; print "1..70\n"; }
my $count = 0;
sub ok ($;$) {
my $p = my $r = shift;
@@ -40,8 +40,6 @@ my $acute = _pack_U(0x0301);
my $hiragana = "\x{3042}\x{3044}";
my $katakana = "\x{30A2}\x{30A4}";
-##### 2..11
-
my $Collator = Unicode::Collate->new(
normalization => undef,
);
@@ -53,6 +51,8 @@ ok($Collator->version(), Unicode::Collate->Base_Unicode_Version);
ok($Collator->version, $Collator->Base_Unicode_Version);
ok($Collator->version(), $Collator->Base_Unicode_Version());
+# 6
+
ok($Collator->cmp("", ""), 0);
ok($Collator->eq("", ""));
ok($Collator->cmp("", "perl"), -1);
@@ -67,7 +67,7 @@ ok(
join(':', qw/ ACA ACHA ACIA ACKA ADA / ),
);
-##### 12..22
+# 11
ok($Collator->cmp("A$acute", $A_acute), 0); # @version 3.1.1 (prev: -1)
ok($Collator->cmp($a_acute, $A_acute), -1);
@@ -85,7 +85,7 @@ ok($Collator->lt("A", $A_acute));
ok($Collator->lt("A", $a_acute));
ok($Collator->lt($a_acute, $A_acute));
-##### 23..29
+# 22
$Collator->change(level => 2);
@@ -98,7 +98,7 @@ ok( $Collator->cmp($hiragana, $katakana), 0);
ok( $Collator->eq($hiragana, $katakana) );
ok( $Collator->ge($hiragana, $katakana) );
-##### 30..35
+# 29
# hangul
ok( $Collator->eq("a\x{AC00}b", "a\x{1100}\x{1161}b") );
@@ -108,7 +108,7 @@ ok( $Collator->lt("a\x{AC00}b", "a\x{AE00}b") );
ok( $Collator->gt("a\x{D7A3}b", "a\x{C544}b") );
ok( $Collator->lt("a\x{C544}b", "a\x{30A2}b") ); # hangul < hiragana
-##### 36..44
+# 35
$Collator->change(%old_level, katakana_before_hiragana => 1);
@@ -123,7 +123,7 @@ ok( $Collator->ne($hiragana, $katakana) );
ok( $Collator->gt($hiragana, $katakana) );
ok( $Collator->ge($hiragana, $katakana) );
-##### 45..50
+# 44
$Collator->change(upper_before_lower => 1);
@@ -134,14 +134,14 @@ ok( $Collator->cmp($hiragana, $katakana), 1);
ok( $Collator->ge($hiragana, $katakana), 1);
ok( $Collator->gt($hiragana, $katakana), 1);
-##### 51..52
+# 50
$Collator->change(katakana_before_hiragana => 0);
ok( $Collator->cmp("abc", "ABC"), 1);
ok( $Collator->cmp($hiragana, $katakana), -1);
-##### 53..54
+# 52
$Collator->change(upper_before_lower => 0);
@@ -150,19 +150,44 @@ ok( $Collator->le("abc", "ABC") );
ok( $Collator->cmp($hiragana, $katakana), -1);
ok( $Collator->lt($hiragana, $katakana) );
-##### 55..60
+# 56
$Collator->change(level => 1);
-my $SupCyril = Unicode::Collate->new(
+my $Tailored = Unicode::Collate->new(
normalization => undef,
suppress => [0x400..0x4FF],
level => 1,
+ entry => '0000 ; [.FFFE.0020.0005.0000]',
);
# Ka vs Kje
ok($Collator->gt("\x{45C}", "\x{43A}"));
ok($Collator->gt("\x{40C}", "\x{41A}"));
-ok($SupCyril->gt("\x{45C}", "\x{43A}"));
-ok($SupCyril->gt("\x{40C}", "\x{41A}"));
+ok($Tailored->gt("\x{45C}", "\x{43A}"));
+ok($Tailored->gt("\x{40C}", "\x{41A}"));
+
+# 60
+
+ok($Collator->eq("abc\0", "abc"));
+ok($Tailored->gt("abc\0", "abc\x{4E00}"));
+ok($Tailored->gt("abc\0", "abc\x{FFFD}"));
+ok($Tailored->gt("abc\0", "abc\x{FFFD}"));
+
+# 64
+
+$Tailored->change(UCA_Version => 9);
+
+ok($Tailored->gt("abc\0", "abc\x{4E00}"));
+ok($Tailored->gt("abc\0", "abc\x{FFFD}"));
+ok($Tailored->gt("abc\0", "abc\x{FFFD}"));
+
+# 67
+
+$Tailored->change(UCA_Version => 8);
+
+ok($Tailored->gt("abc\0", "abc\x{4E00}"));
+ok($Tailored->gt("abc\0", "abc\x{FFFD}"));
+ok($Tailored->gt("abc\0", "abc\x{FFFD}"));
+# 70