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 | ||
14 | use Test; | |
15 | BEGIN { plan tests => 61 }; | |
16 | ||
64dc7822 CBW |
17 | use strict; |
18 | use warnings; | |
19 | use Unicode::Collate::Locale; | |
20 | ||
68adb2b0 CBW |
21 | ok(1); |
22 | ||
23 | ######################### | |
64dc7822 CBW |
24 | |
25 | my $objEt = Unicode::Collate::Locale-> | |
26 | new(locale => 'ET', normalization => undef); | |
27 | ||
64dc7822 CBW |
28 | ok($objEt->getlocale, 'et'); |
29 | ||
30 | $objEt->change(level => 1); | |
31 | ||
32 | ok($objEt->lt("s", "s\x{30C}")); | |
33 | ok($objEt->gt("z", "s\x{30C}")); | |
34 | ok($objEt->lt("z", "z\x{30C}")); | |
35 | ok($objEt->gt("t", "z\x{30C}")); | |
36 | ok($objEt->eq("v", "w")); | |
37 | ok($objEt->lt("w", "o\x{303}")); | |
38 | ok($objEt->lt("o\x{303}", "a\x{308}")); | |
39 | ok($objEt->lt("a\x{308}", "o\x{308}")); | |
40 | ok($objEt->lt("o\x{308}", "u\x{308}")); | |
41 | ok($objEt->lt("u\x{308}", "x")); | |
42 | ||
43 | # 12 | |
44 | ||
45 | $objEt->change(level => 2); | |
46 | ||
47 | ok($objEt->lt("v", "w")); | |
48 | ok($objEt->eq("s\x{30C}", "S\x{30C}")); | |
49 | ok($objEt->eq("z", "Z")); | |
50 | ok($objEt->eq("z\x{30C}", "Z\x{30C}")); | |
51 | ok($objEt->eq("w", "W")); | |
52 | ok($objEt->eq("o\x{303}", "O\x{303}")); | |
53 | ok($objEt->eq("a\x{308}", "A\x{308}")); | |
54 | ok($objEt->eq("o\x{308}", "O\x{308}")); | |
55 | ok($objEt->eq("u\x{308}", "U\x{308}")); | |
56 | ||
57 | # 21 | |
58 | ||
59 | $objEt->change(level => 3); | |
60 | ||
61 | ok($objEt->lt("s\x{30C}", "S\x{30C}")); | |
62 | ok($objEt->lt("z", "Z")); | |
63 | ok($objEt->lt("z\x{30C}", "Z\x{30C}")); | |
64 | ok($objEt->lt("w", "W")); | |
65 | ok($objEt->lt("o\x{303}", "O\x{303}")); | |
66 | ok($objEt->lt("a\x{308}", "A\x{308}")); | |
67 | ok($objEt->lt("o\x{308}", "O\x{308}")); | |
68 | ok($objEt->lt("u\x{308}", "U\x{308}")); | |
69 | ||
70 | # 29 | |
71 | ||
72 | ok($objEt->eq("s\x{30C}", "\x{161}")); | |
73 | ok($objEt->eq("S\x{30C}", "\x{160}")); | |
74 | ok($objEt->eq("z\x{30C}", "\x{17E}")); | |
75 | ok($objEt->eq("Z\x{30C}", "\x{17D}")); | |
76 | ok($objEt->eq("o\x{303}", pack('U', 0xF5))); | |
77 | ok($objEt->eq("O\x{303}", pack('U', 0xD5))); | |
78 | ok($objEt->eq("a\x{308}", pack('U', 0xE4))); | |
79 | ok($objEt->eq("A\x{308}", pack('U', 0xC4))); | |
80 | ok($objEt->eq("o\x{308}", pack('U', 0xF6))); | |
81 | ok($objEt->eq("O\x{308}", pack('U', 0xD6))); | |
82 | ok($objEt->eq("u\x{308}", pack('U', 0xFC))); | |
83 | ok($objEt->eq("U\x{308}", pack('U', 0xDC))); | |
c02ee425 CBW |
84 | |
85 | # 41 | |
86 | ||
87 | ok($objEt->eq("o\x{303}\x{301}","\x{1E4D}")); | |
88 | ok($objEt->eq("O\x{303}\x{301}","\x{1E4C}")); | |
89 | ok($objEt->eq("o\x{303}\x{304}", "\x{22D}")); | |
90 | ok($objEt->eq("O\x{303}\x{304}", "\x{22C}")); | |
91 | ok($objEt->eq("o\x{303}\x{308}","\x{1E4F}")); | |
92 | ok($objEt->eq("O\x{303}\x{308}","\x{1E4E}")); | |
93 | ok($objEt->eq("o\x{303}\x{31B}","\x{1EE1}")); | |
94 | ok($objEt->eq("O\x{303}\x{31B}","\x{1EE0}")); | |
95 | ok($objEt->eq("a\x{308}\x{304}", "\x{1DF}")); | |
96 | ok($objEt->eq("A\x{308}\x{304}", "\x{1DE}")); | |
97 | ok($objEt->eq("o\x{308}\x{304}", "\x{22B}")); | |
98 | ok($objEt->eq("O\x{308}\x{304}", "\x{22A}")); | |
f1a7422f CBW |
99 | ok($objEt->eq("u\x{308}\x{300}", "\x{1DC}")); |
100 | ok($objEt->eq("U\x{308}\x{300}", "\x{1DB}")); | |
101 | ok($objEt->eq("u\x{308}\x{301}", "\x{1D8}")); | |
102 | ok($objEt->eq("U\x{308}\x{301}", "\x{1D7}")); | |
103 | ok($objEt->eq("u\x{308}\x{304}", "\x{1D6}")); | |
104 | ok($objEt->eq("U\x{308}\x{304}", "\x{1D5}")); | |
105 | ok($objEt->eq("u\x{308}\x{30C}", "\x{1DA}")); | |
106 | ok($objEt->eq("U\x{308}\x{30C}", "\x{1D9}")); | |
64dc7822 | 107 | |
c02ee425 | 108 | # 61 |