This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update the libnet tests as per #11138.
[perl5.git] / lib / Unicode / UCD.t
1 use Unicode::UCD 3.1.0;
2
3 use Test;
4 use strict;
5
6 BEGIN { plan tests => 87 };
7
8 use Unicode::UCD 'charinfo';
9
10 my %charinfo;
11
12 %charinfo = charinfo(0x41);
13
14 ok($charinfo{code},           '0041');
15 ok($charinfo{name},           'LATIN CAPITAL LETTER A');
16 ok($charinfo{category},       'Lu');
17 ok($charinfo{combining},      '0');
18 ok($charinfo{bidi},           'L');
19 ok($charinfo{decomposition},  '');
20 ok($charinfo{decimal},        '');
21 ok($charinfo{digit},          '');
22 ok($charinfo{numeric},        '');
23 ok($charinfo{mirrored},       'N');
24 ok($charinfo{unicode10},      '');
25 ok($charinfo{comment},        '');
26 ok($charinfo{upper},          '');
27 ok($charinfo{lower},          '0061');
28 ok($charinfo{title},          '');
29 ok($charinfo{block},          'Basic Latin');
30 ok($charinfo{script},         'LATIN');
31
32 %charinfo = charinfo(0x100);
33
34 ok($charinfo{code},           '0100');
35 ok($charinfo{name},           'LATIN CAPITAL LETTER A WITH MACRON');
36 ok($charinfo{category},       'Lu');
37 ok($charinfo{combining},      '0');
38 ok($charinfo{bidi},           'L');
39 ok($charinfo{decomposition},  '0041 0304');
40 ok($charinfo{decimal},        '');
41 ok($charinfo{digit},          '');
42 ok($charinfo{numeric},        '');
43 ok($charinfo{mirrored},       'N');
44 ok($charinfo{unicode10},      'LATIN CAPITAL LETTER A MACRON');
45 ok($charinfo{comment},        '');
46 ok($charinfo{upper},          '');
47 ok($charinfo{lower},          '0101');
48 ok($charinfo{title},          '');
49 ok($charinfo{block},          'Latin Extended-A');
50 ok($charinfo{script},         'LATIN');
51
52 # 0x0590 is in the Hebrew block but unused.
53
54 %charinfo = charinfo(0x590);
55
56 ok($charinfo{code},          undef);
57 ok($charinfo{name},          undef);
58 ok($charinfo{category},      undef);
59 ok($charinfo{combining},     undef);
60 ok($charinfo{bidi},          undef);
61 ok($charinfo{decomposition}, undef);
62 ok($charinfo{decimal},       undef);
63 ok($charinfo{digit},         undef);
64 ok($charinfo{numeric},       undef);
65 ok($charinfo{mirrored},      undef);
66 ok($charinfo{unicode10},     undef);
67 ok($charinfo{comment},       undef);
68 ok($charinfo{upper},         undef);
69 ok($charinfo{lower},         undef);
70 ok($charinfo{title},         undef);
71 ok($charinfo{block},         undef);
72 ok($charinfo{script},        undef);
73
74 # 0x05d0 is in the Hebrew block and used.
75
76 %charinfo = charinfo(0x5d0);
77
78 ok($charinfo{code},           '05D0');
79 ok($charinfo{name},           'HEBREW LETTER ALEF');
80 ok($charinfo{category},       'Lo');
81 ok($charinfo{combining},      '0');
82 ok($charinfo{bidi},           'R');
83 ok($charinfo{decomposition},  '');
84 ok($charinfo{decimal},        '');
85 ok($charinfo{digit},          '');
86 ok($charinfo{numeric},        '');
87 ok($charinfo{mirrored},       'N');
88 ok($charinfo{unicode10},      '');
89 ok($charinfo{comment},        '');
90 ok($charinfo{upper},          '');
91 ok($charinfo{lower},          '');
92 ok($charinfo{title},          '');
93 ok($charinfo{block},          'Hebrew');
94 ok($charinfo{script},         'HEBREW');
95
96 use Unicode::UCD qw(charblock charscript);
97
98 # 0x0590 is in the Hebrew block but unused.
99
100 ok(charblock(0x590),          'Hebrew');
101 ok(charscript(0x590),         undef);
102
103 %charinfo = charinfo(0xbe);
104
105 ok($charinfo{code},           '00BE');
106 ok($charinfo{name},           'VULGAR FRACTION THREE QUARTERS');
107 ok($charinfo{category},       'No');
108 ok($charinfo{combining},      '0');
109 ok($charinfo{bidi},           'ON');
110 ok($charinfo{decomposition},  '<fraction> 0033 2044 0034');
111 ok($charinfo{decimal},        '');
112 ok($charinfo{digit},          '');
113 ok($charinfo{numeric},        '3/4');
114 ok($charinfo{mirrored},       'N');
115 ok($charinfo{unicode10},      'FRACTION THREE QUARTERS');
116 ok($charinfo{comment},        '');
117 ok($charinfo{upper},          '');
118 ok($charinfo{lower},          '');
119 ok($charinfo{title},          '');
120 ok($charinfo{block},          'Latin-1 Supplement');
121 ok($charinfo{script},         undef);