summaryrefslogtreecommitdiffstats
path: root/contrib/perl5/t/lib/charnames.t
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/perl5/t/lib/charnames.t')
-rwxr-xr-xcontrib/perl5/t/lib/charnames.t44
1 files changed, 40 insertions, 4 deletions
diff --git a/contrib/perl5/t/lib/charnames.t b/contrib/perl5/t/lib/charnames.t
index 7643390..2731136 100755
--- a/contrib/perl5/t/lib/charnames.t
+++ b/contrib/perl5/t/lib/charnames.t
@@ -3,12 +3,12 @@
BEGIN {
unless(grep /blib/, @INC) {
chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib';
+ @INC = '../lib';
}
}
$| = 1;
-print "1..12\n";
+print "1..15\n";
use charnames ':full';
@@ -42,15 +42,21 @@ EOE
$encoded_be = "\320\261";
$encoded_alpha = "\316\261";
$encoded_bet = "\327\221";
+$encoded_deseng = "\360\220\221\215";
+
+sub to_bytes {
+ pack"a*", shift;
+}
+
{
use charnames ':full';
- print "not " unless "\N{CYRILLIC SMALL LETTER BE}" eq $encoded_be;
+ print "not " unless to_bytes("\N{CYRILLIC SMALL LETTER BE}") eq $encoded_be;
print "ok 4\n";
use charnames qw(cyrillic greek :short);
- print "not " unless "\N{be},\N{alpha},\N{hebrew:bet}"
+ print "not " unless to_bytes("\N{be},\N{alpha},\N{hebrew:bet}")
eq "$encoded_be,$encoded_alpha,$encoded_bet";
print "ok 5\n";
}
@@ -72,3 +78,33 @@ $encoded_bet = "\327\221";
print "not " unless sprintf("%vx", "\x{ff}\N{WHITE SMILING FACE}") eq "ff.263a";
print "ok 12\n";
}
+
+{
+ use charnames qw(:full);
+ use utf8;
+
+ my $x = "\x{221b}";
+ my $named = "\N{CUBE ROOT}";
+
+ print "not " unless ord($x) == ord($named);
+ print "ok 13\n";
+}
+
+{
+ use charnames qw(:full);
+ use utf8;
+ print "not " unless "\x{100}\N{CENT SIGN}" eq "\x{100}"."\N{CENT SIGN}";
+ print "ok 14\n";
+}
+
+{
+ use charnames ':full';
+
+# XXX this test breaks in 5.6.x because the Unicode database is missing
+# "DESERET SMALL LETTER ENG". Uncomment after updating to Unicode 3.1
+# print "not "
+# unless to_bytes("\N{DESERET SMALL LETTER ENG}") eq $encoded_deseng;
+ print "ok 15\n";
+
+}
+
OpenPOWER on IntegriCloud