Commit | Line | Data |
---|---|---|
d88bd77a CBW |
1 | |
2 | BEGIN { | |
d8e4b4ea CBW |
3 | unless ('A' eq pack('U', 0x41)) { |
4 | print "1..0 # Unicode::Collate cannot pack a Unicode code point\n"; | |
5 | exit 0; | |
6 | } | |
7 | unless (0x41 == unpack('U', 'A')) { | |
8 | print "1..0 # Unicode::Collate cannot get a Unicode code point\n"; | |
d88bd77a CBW |
9 | exit 0; |
10 | } | |
11 | if ($ENV{PERL_CORE}) { | |
12 | chdir('t') if -d 't'; | |
13 | @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib); | |
14 | } | |
15 | } | |
16 | ||
d88bd77a CBW |
17 | use strict; |
18 | use warnings; | |
6d3c12b5 | 19 | BEGIN { $| = 1; print "1..14\n"; } |
cba8842c A |
20 | my $count = 0; |
21 | sub ok ($;$) { | |
22 | my $p = my $r = shift; | |
23 | if (@_) { | |
24 | my $x = shift; | |
25 | $p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x; | |
26 | } | |
27 | print $p ? "ok" : "not ok", ' ', ++$count, "\n"; | |
28 | } | |
29 | ||
d88bd77a CBW |
30 | use Unicode::Collate::Locale; |
31 | ||
32 | ok(1); | |
33 | ||
34 | ######################### | |
35 | ||
36 | my $objSiDict = Unicode::Collate::Locale-> | |
37 | new(locale => 'SI-dict', normalization => undef); | |
38 | ||
39 | ok($objSiDict->getlocale, 'si__dictionary'); | |
40 | ||
6d3c12b5 | 41 | $objSiDict->change(level => 2); |
d88bd77a | 42 | |
6d3c12b5 CBW |
43 | ok($objSiDict->gt("\x{DA5}", "\x{DA2}\x{DCA}\x{DA4}")); |
44 | ||
45 | $objSiDict->change(level => 1); | |
d88bd77a | 46 | |
d88bd77a | 47 | ok($objSiDict->eq("\x{DA5}", "\x{DA2}\x{DCA}\x{DA4}")); |
6d3c12b5 CBW |
48 | |
49 | ok($objSiDict->lt("\x{DA2}", "\x{DA5}")); | |
d88bd77a CBW |
50 | ok($objSiDict->lt("\x{DA5}", "\x{DA3}")); |
51 | ||
6d3c12b5 | 52 | # 6 |
d88bd77a | 53 | |
6d3c12b5 CBW |
54 | for my $h (0, 1) { |
55 | no warnings 'utf8'; | |
cc2b46b5 | 56 | my $t = $h ? pack('U', 0xFFFF) : 'z'; |
6d3c12b5 CBW |
57 | |
58 | ok($objSiDict->lt("\x{D95}$t", "\x{D96}")); | |
59 | ok($objSiDict->lt("\x{D96}$t", "\x{D82}")); | |
60 | ok($objSiDict->lt("\x{D82}$t", "\x{D83}")); | |
61 | ok($objSiDict->lt("\x{D83}$t", "\x{D9A}")); | |
62 | } | |
d88bd77a | 63 | |
6d3c12b5 | 64 | # 14 |