| 1 | #!perl -w
|
|---|
| 2 | BEGIN {
|
|---|
| 3 | if (ord("A") == 193) {
|
|---|
| 4 | print "1..0 # Skip: EBCDIC\n";
|
|---|
| 5 | exit 0;
|
|---|
| 6 | }
|
|---|
| 7 | chdir 't' if -d 't';
|
|---|
| 8 | @INC = '../lib';
|
|---|
| 9 | @INC = "::lib" if $^O eq 'MacOS'; # module parses @INC itself
|
|---|
| 10 | require Config; import Config;
|
|---|
| 11 | if ($Config{'extensions'} !~ /\bStorable\b/) {
|
|---|
| 12 | print "1..0 # Skip: Storable was not built; Unicode::UCD uses Storable\n";
|
|---|
| 13 | exit 0;
|
|---|
| 14 | }
|
|---|
| 15 | }
|
|---|
| 16 |
|
|---|
| 17 | use strict;
|
|---|
| 18 | use Unicode::UCD;
|
|---|
| 19 | use Test::More;
|
|---|
| 20 |
|
|---|
| 21 | BEGIN { plan tests => 188 };
|
|---|
| 22 |
|
|---|
| 23 | use Unicode::UCD 'charinfo';
|
|---|
| 24 |
|
|---|
| 25 | my $charinfo;
|
|---|
| 26 |
|
|---|
| 27 | $charinfo = charinfo(0x41);
|
|---|
| 28 |
|
|---|
| 29 | is($charinfo->{code}, '0041', 'LATIN CAPITAL LETTER A');
|
|---|
| 30 | is($charinfo->{name}, 'LATIN CAPITAL LETTER A');
|
|---|
| 31 | is($charinfo->{category}, 'Lu');
|
|---|
| 32 | is($charinfo->{combining}, '0');
|
|---|
| 33 | is($charinfo->{bidi}, 'L');
|
|---|
| 34 | is($charinfo->{decomposition}, '');
|
|---|
| 35 | is($charinfo->{decimal}, '');
|
|---|
| 36 | is($charinfo->{digit}, '');
|
|---|
| 37 | is($charinfo->{numeric}, '');
|
|---|
| 38 | is($charinfo->{mirrored}, 'N');
|
|---|
| 39 | is($charinfo->{unicode10}, '');
|
|---|
| 40 | is($charinfo->{comment}, '');
|
|---|
| 41 | is($charinfo->{upper}, '');
|
|---|
| 42 | is($charinfo->{lower}, '0061');
|
|---|
| 43 | is($charinfo->{title}, '');
|
|---|
| 44 | is($charinfo->{block}, 'Basic Latin');
|
|---|
| 45 | is($charinfo->{script}, 'Latin');
|
|---|
| 46 |
|
|---|
| 47 | $charinfo = charinfo(0x100);
|
|---|
| 48 |
|
|---|
| 49 | is($charinfo->{code}, '0100', 'LATIN CAPITAL LETTER A WITH MACRON');
|
|---|
| 50 | is($charinfo->{name}, 'LATIN CAPITAL LETTER A WITH MACRON');
|
|---|
| 51 | is($charinfo->{category}, 'Lu');
|
|---|
| 52 | is($charinfo->{combining}, '0');
|
|---|
| 53 | is($charinfo->{bidi}, 'L');
|
|---|
| 54 | is($charinfo->{decomposition}, '0041 0304');
|
|---|
| 55 | is($charinfo->{decimal}, '');
|
|---|
| 56 | is($charinfo->{digit}, '');
|
|---|
| 57 | is($charinfo->{numeric}, '');
|
|---|
| 58 | is($charinfo->{mirrored}, 'N');
|
|---|
| 59 | is($charinfo->{unicode10}, 'LATIN CAPITAL LETTER A MACRON');
|
|---|
| 60 | is($charinfo->{comment}, '');
|
|---|
| 61 | is($charinfo->{upper}, '');
|
|---|
| 62 | is($charinfo->{lower}, '0101');
|
|---|
| 63 | is($charinfo->{title}, '');
|
|---|
| 64 | is($charinfo->{block}, 'Latin Extended-A');
|
|---|
| 65 | is($charinfo->{script}, 'Latin');
|
|---|
| 66 |
|
|---|
| 67 | # 0x0590 is in the Hebrew block but unused.
|
|---|
| 68 |
|
|---|
| 69 | $charinfo = charinfo(0x590);
|
|---|
| 70 |
|
|---|
| 71 | is($charinfo->{code}, undef, '0x0590 - unused Hebrew');
|
|---|
| 72 | is($charinfo->{name}, undef);
|
|---|
| 73 | is($charinfo->{category}, undef);
|
|---|
| 74 | is($charinfo->{combining}, undef);
|
|---|
| 75 | is($charinfo->{bidi}, undef);
|
|---|
| 76 | is($charinfo->{decomposition}, undef);
|
|---|
| 77 | is($charinfo->{decimal}, undef);
|
|---|
| 78 | is($charinfo->{digit}, undef);
|
|---|
| 79 | is($charinfo->{numeric}, undef);
|
|---|
| 80 | is($charinfo->{mirrored}, undef);
|
|---|
| 81 | is($charinfo->{unicode10}, undef);
|
|---|
| 82 | is($charinfo->{comment}, undef);
|
|---|
| 83 | is($charinfo->{upper}, undef);
|
|---|
| 84 | is($charinfo->{lower}, undef);
|
|---|
| 85 | is($charinfo->{title}, undef);
|
|---|
|
|---|