Commit | Line | Data |
423cee85 |
1 | #!./perl |
2 | |
3 | BEGIN { |
4 | unless(grep /blib/, @INC) { |
5 | chdir 't' if -d 't'; |
6 | unshift @INC, '../lib' if -d '../lib'; |
7 | } |
8 | } |
9 | |
10 | $| = 1; |
e1992b6d |
11 | print "1..10\n"; |
423cee85 |
12 | |
13 | use charnames ':full'; |
14 | |
f70c35af |
15 | print "not " unless "Here\N{EXCLAMATION MARK}?" eq "Here\041?"; |
423cee85 |
16 | print "ok 1\n"; |
17 | |
c82a54e6 |
18 | { |
8058d7ab |
19 | use bytes; # UTEST can switch utf8 on |
c82a54e6 |
20 | |
21 | print "# \$res=$res \$\@='$@'\nnot " |
22 | if $res = eval <<'EOE' |
423cee85 |
23 | use charnames ":full"; |
4a2d328f |
24 | "Here: \N{CYRILLIC SMALL LETTER BE}!"; |
423cee85 |
25 | 1 |
26 | EOE |
c82a54e6 |
27 | or $@ !~ /above 0xFF/; |
28 | print "ok 2\n"; |
29 | # print "# \$res=$res \$\@='$@'\n"; |
423cee85 |
30 | |
c82a54e6 |
31 | print "# \$res=$res \$\@='$@'\nnot " |
32 | if $res = eval <<'EOE' |
423cee85 |
33 | use charnames 'cyrillic'; |
4a2d328f |
34 | "Here: \N{Be}!"; |
423cee85 |
35 | 1 |
36 | EOE |
c82a54e6 |
37 | or $@ !~ /CYRILLIC CAPITAL LETTER BE.*above 0xFF/; |
38 | print "ok 3\n"; |
39 | } |
423cee85 |
40 | |
41 | # If octal representation of unicode char is \0xyzt, then the utf8 is \3xy\2zt |
42 | $encoded_be = "\320\261"; |
43 | $encoded_alpha = "\316\261"; |
44 | $encoded_bet = "\327\221"; |
45 | { |
46 | use charnames ':full'; |
423cee85 |
47 | |
4a2d328f |
48 | print "not " unless "\N{CYRILLIC SMALL LETTER BE}" eq $encoded_be; |
423cee85 |
49 | print "ok 4\n"; |
50 | |
51 | use charnames qw(cyrillic greek :short); |
52 | |
4a2d328f |
53 | print "not " unless "\N{be},\N{alpha},\N{hebrew:bet}" |
423cee85 |
54 | eq "$encoded_be,$encoded_alpha,$encoded_bet"; |
55 | print "ok 5\n"; |
56 | } |
e1992b6d |
57 | |
58 | { |
59 | use charnames ':full'; |
60 | print "not " unless "\x{263a}" eq "\N{WHITE SMILING FACE}"; |
61 | print "ok 6\n"; |
62 | print "not " unless length("\x{263a}") == 1; |
63 | print "ok 7\n"; |
64 | print "not " unless length("\N{WHITE SMILING FACE}") == 1; |
65 | print "ok 8\n"; |
66 | print "not " unless sprintf("%vx", "\x{263a}") eq "263a"; |
67 | print "ok 9\n"; |
68 | print "not " unless sprintf("%vx", "\N{WHITE SMILING FACE}") eq "263a"; |
69 | print "ok 10\n"; |
70 | } |