Commit | Line | Data |
---|---|---|
68adb2b0 CBW |
1 | |
2 | BEGIN { | |
3 | unless ("A" eq pack('U', 0x41)) { | |
4 | print "1..0 # Unicode::Collate " . | |
5 | "cannot stringify a Unicode code point\n"; | |
6 | exit 0; | |
7 | } | |
8 | if ($ENV{PERL_CORE}) { | |
9 | chdir('t') if -d 't'; | |
10 | @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib); | |
11 | } | |
12 | } | |
13 | ||
6709de88 CBW |
14 | use strict; |
15 | use warnings; | |
cba8842c A |
16 | BEGIN { $| = 1; print "1..30\n"; } |
17 | my $count = 0; | |
18 | sub ok ($;$) { | |
19 | my $p = my $r = shift; | |
20 | if (@_) { | |
21 | my $x = shift; | |
22 | $p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x; | |
23 | } | |
24 | print $p ? "ok" : "not ok", ' ', ++$count, "\n"; | |
25 | } | |
26 | ||
6709de88 CBW |
27 | use Unicode::Collate::Locale; |
28 | ||
68adb2b0 CBW |
29 | ok(1); |
30 | ||
31 | ######################### | |
6709de88 CBW |
32 | |
33 | my $objAr = Unicode::Collate::Locale-> | |
34 | new(locale => 'AR', normalization => undef); | |
35 | ||
6709de88 CBW |
36 | ok($objAr->getlocale, 'ar'); |
37 | ||
38 | $objAr->change(level => 1); | |
39 | ||
40 | ok($objAr->eq("\x{62A}", "\x{629}")); | |
bd65daab CBW |
41 | ok($objAr->eq("\x{64A}", "\x{649}")); |
42 | ||
43 | # 4 | |
44 | ||
45 | $objAr->change(level => 2); | |
46 | ||
47 | ok($objAr->lt("\x{62A}", "\x{629}")); | |
48 | ok($objAr->eq("\x{629}", "\x{FE94}")); | |
49 | ok($objAr->eq("\x{FE94}","\x{FE93}")); | |
50 | ||
51 | ok($objAr->lt("\x{64A}", "\x{649}")); | |
52 | ok($objAr->eq("\x{649}", "\x{FBE8}")); | |
53 | ok($objAr->eq("\x{FBE8}","\x{FBE9}")); | |
54 | ok($objAr->eq("\x{FBE9}","\x{FEF0}")); | |
55 | ok($objAr->eq("\x{FEF0}","\x{FEEF}")); | |
56 | ok($objAr->eq("\x{FEEF}","\x{FC90}")); | |
57 | ok($objAr->eq("\x{FC90}","\x{FC5D}")); | |
58 | ||
59 | # 14 | |
6709de88 CBW |
60 | |
61 | $objAr->change(level => 3); | |
62 | ||
bd65daab CBW |
63 | for my $up_lo (0, 1) { |
64 | $objAr->change(upper_before_lower => $up_lo); | |
65 | ||
66 | ok($objAr->lt("\x{629}", "\x{FE94}")); | |
67 | ok($objAr->lt("\x{FE94}","\x{FE93}")); | |
68 | ||
69 | ok($objAr->lt("\x{649}", "\x{FBE8}")); | |
70 | ok($objAr->lt("\x{FBE8}","\x{FBE9}")); | |
71 | ok($objAr->lt("\x{FBE9}","\x{FEF0}")); | |
72 | ok($objAr->lt("\x{FEF0}","\x{FEEF}")); | |
73 | ok($objAr->lt("\x{FEEF}","\x{FC90}")); | |
74 | ok($objAr->lt("\x{FC90}","\x{FC5D}")); | |
75 | } | |
6709de88 | 76 | |
bd65daab | 77 | # 30 |