summaryrefslogtreecommitdiff
path: root/t/lib/charnames.t
diff options
context:
space:
mode:
Diffstat (limited to 't/lib/charnames.t')
-rw-r--r--t/lib/charnames.t53
1 files changed, 53 insertions, 0 deletions
diff --git a/t/lib/charnames.t b/t/lib/charnames.t
new file mode 100644
index 0000000000..860cc03c75
--- /dev/null
+++ b/t/lib/charnames.t
@@ -0,0 +1,53 @@
+#!./perl
+
+BEGIN {
+ unless(grep /blib/, @INC) {
+ chdir 't' if -d 't';
+ unshift @INC, '../lib' if -d '../lib';
+ }
+}
+
+$| = 1;
+print "1..5\n";
+
+use charnames ':full';
+
+print "not " unless "Here\C{EXCLAMATION MARK}?" eq 'Here!?';
+print "ok 1\n";
+
+print "# \$res=$res \$\@='$@'\nnot "
+ if $res = eval <<'EOE'
+use charnames ":full";
+"Here: \C{CYRILLIC SMALL LETTER BE}!";
+1
+EOE
+ or $@ !~ /above 0xFF/;
+print "ok 2\n";
+# print "# \$res=$res \$\@='$@'\n";
+
+print "# \$res=$res \$\@='$@'\nnot "
+ if $res = eval <<'EOE'
+use charnames 'cyrillic';
+"Here: \C{Be}!";
+1
+EOE
+ or $@ !~ /CYRILLIC CAPITAL LETTER BE.*above 0xFF/;
+print "ok 3\n";
+
+# If octal representation of unicode char is \0xyzt, then the utf8 is \3xy\2zt
+$encoded_be = "\320\261";
+$encoded_alpha = "\316\261";
+$encoded_bet = "\327\221";
+{
+ use charnames ':full';
+ use utf8;
+
+ print "not " unless "\C{CYRILLIC SMALL LETTER BE}" eq $encoded_be;
+ print "ok 4\n";
+
+ use charnames qw(cyrillic greek :short);
+
+ print "not " unless "\C{be},\C{alpha},\C{hebrew:bet}"
+ eq "$encoded_be,$encoded_alpha,$encoded_bet";
+ print "ok 5\n";
+}