summaryrefslogtreecommitdiff
path: root/lib/Unicode
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2015-06-24 11:22:02 -0600
committerKarl Williamson <khw@cpan.org>2015-07-28 22:15:53 -0600
commit74894415ca2c741e195e52206c87de057ba140df (patch)
tree1cd6c9d74ee0e152e74d75d106cb398b95a65fc9 /lib/Unicode
parenta0ffb25eac2feb58940d30f2898baea7460aff03 (diff)
downloadperl-74894415ca2c741e195e52206c87de057ba140df.tar.gz
Handle Unicode 3.0.1 /i Turkish "i" rules
Actually, there are no special rules for this Unicode release. All the 4 "i" characters are considered equivalent under /i only in this release. (Upper and lowercase dotted and dotless "i"). This adds special cases that are only compiled in for that release.
Diffstat (limited to 'lib/Unicode')
-rw-r--r--lib/Unicode/UCD.t24
1 files changed, 23 insertions, 1 deletions
diff --git a/lib/Unicode/UCD.t b/lib/Unicode/UCD.t
index a799dd036b..4c3f99f6c8 100644
--- a/lib/Unicode/UCD.t
+++ b/lib/Unicode/UCD.t
@@ -607,7 +607,29 @@ is($casefold->{turkic}, "", 'casefold native(0xDF) turkic');
# Do different tests depending on if version < 3.2, or not.
my $v_unicode_version = pack "C*", split /\./, Unicode::UCD::UnicodeVersion();
-if ($v_unicode_version lt v3.2.0) {
+if ($v_unicode_version eq v3.0.1) {
+ # In this release, there was no special Turkic values.
+ # Both 0x130 and 0x131 folded to 'i'.
+
+ $casefold = casefold(0x130);
+
+ is($casefold->{code}, '0130', 'casefold 0x130 code');
+ is($casefold->{status}, 'C' , 'casefold 0x130 status');
+ is($casefold->{mapping}, $i_code, 'casefold 0x130 mapping');
+ is($casefold->{full}, $i_code, 'casefold 0x130 full');
+ is($casefold->{simple}, $i_code, 'casefold 0x130 simple');
+ is($casefold->{turkic}, "", 'casefold 0x130 turkic');
+
+ $casefold = casefold(0x131);
+
+ is($casefold->{code}, '0131', 'casefold 0x131 code');
+ is($casefold->{status}, 'C' , 'casefold 0x131 status');
+ is($casefold->{mapping}, $i_code, 'casefold 0x131 mapping');
+ is($casefold->{full}, $i_code, 'casefold 0x131 full');
+ is($casefold->{simple}, $i_code, 'casefold 0x131 simple');
+ is($casefold->{turkic}, "", 'casefold 0x131 turkic');
+}
+elsif ($v_unicode_version lt v3.2.0) {
$casefold = casefold(0x130);
is($casefold->{code}, '0130', 'casefold 0x130 code');