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 => 57 }; | |
16 | ||
f1a7422f CBW |
17 | use strict; |
18 | use warnings; | |
19 | use Unicode::Collate::Locale; | |
20 | ||
68adb2b0 CBW |
21 | ok(1); |
22 | ||
23 | ######################### | |
f1a7422f CBW |
24 | |
25 | my $objTr = Unicode::Collate::Locale-> | |
26 | new(locale => 'TR', normalization => undef); | |
27 | ||
f1a7422f CBW |
28 | ok($objTr->getlocale, 'tr'); |
29 | ||
30 | $objTr->change(level => 1); | |
31 | ||
32 | ok($objTr->lt("c", "c\x{327}")); | |
33 | ok($objTr->gt("d", "c\x{327}")); | |
34 | ok($objTr->lt("g", "g\x{306}")); | |
35 | ok($objTr->gt("h", "g\x{306}")); | |
36 | ok($objTr->lt("h", "I")); | |
37 | ok($objTr->lt("I", "i")); | |
38 | ok($objTr->gt("j", "i")); | |
39 | ok($objTr->lt("o", "o\x{308}")); | |
40 | ok($objTr->gt("p", "o\x{308}")); | |
41 | ok($objTr->lt("s", "s\x{327}")); | |
42 | ok($objTr->gt("t", "s\x{327}")); | |
43 | ok($objTr->lt("u", "u\x{308}")); | |
44 | ok($objTr->gt("v", "u\x{308}")); | |
45 | ||
46 | # 15 | |
47 | ||
48 | $objTr->change(level => 2); | |
49 | ||
50 | ok($objTr->eq("c\x{327}", "C\x{327}")); | |
51 | ok($objTr->eq("g\x{306}", "G\x{306}")); | |
52 | ok($objTr->eq("\x{131}", "I")); | |
53 | ok($objTr->eq("\x{130}", "i")); | |
54 | ok($objTr->eq("o\x{308}", "O\x{308}")); | |
55 | ok($objTr->eq("s\x{327}", "S\x{327}")); | |
56 | ok($objTr->eq("u\x{308}", "U\x{308}")); | |
57 | ||
58 | # 22 | |
59 | ||
60 | $objTr->change(level => 3); | |
61 | ||
62 | ok($objTr->lt("c\x{327}", "C\x{327}")); | |
63 | ok($objTr->lt("g\x{306}", "G\x{306}")); | |
64 | ok($objTr->lt("\x{131}", "I")); | |
65 | ok($objTr->gt("\x{130}", "i")); | |
66 | ok($objTr->lt("o\x{308}", "O\x{308}")); | |
67 | ok($objTr->lt("s\x{327}", "S\x{327}")); | |
68 | ok($objTr->lt("u\x{308}", "U\x{308}")); | |
69 | ||
70 | # 29 | |
71 | ||
72 | ok($objTr->eq("c\x{327}", pack('U', 0xE7))); | |
73 | ok($objTr->eq("C\x{327}", pack('U', 0xC7))); | |
74 | ok($objTr->eq("g\x{306}", "\x{11F}")); | |
75 | ok($objTr->eq("G\x{306}", "\x{11E}")); | |
76 | ok($objTr->eq("I\x{300}", pack('U', 0xCC))); | |
77 | ok($objTr->eq("I\x{301}", pack('U', 0xCD))); | |
78 | ok($objTr->eq("I\x{302}", pack('U', 0xCE))); | |
79 | ok($objTr->eq("I\x{308}", pack('U', 0xCF))); | |
80 | ok($objTr->eq("I\x{304}", "\x{12A}")); | |
81 | ok($objTr->eq("I\x{306}", "\x{12C}")); | |
82 | ok($objTr->eq("I\x{328}", "\x{12E}")); | |
83 | ok($objTr->eq("I\x{307}", "\x{130}")); | |
84 | ||
85 | # 41 | |
86 | ||
87 | ok($objTr->eq("o\x{308}", pack('U', 0xF6))); | |
88 | ok($objTr->eq("O\x{308}", pack('U', 0xD6))); | |
89 | ok($objTr->eq("o\x{308}\x{304}", "\x{22B}")); | |
90 | ok($objTr->eq("O\x{308}\x{304}", "\x{22A}")); | |
91 | ok($objTr->eq("s\x{327}", "\x{15F}")); | |
92 | ok($objTr->eq("S\x{327}", "\x{15E}")); | |
93 | ok($objTr->eq("u\x{308}", pack('U', 0xFC))); | |
94 | ok($objTr->eq("U\x{308}", pack('U', 0xDC))); | |
95 | ok($objTr->eq("u\x{308}\x{300}", "\x{1DC}")); | |
96 | ok($objTr->eq("U\x{308}\x{300}", "\x{1DB}")); | |
97 | ok($objTr->eq("u\x{308}\x{301}", "\x{1D8}")); | |
98 | ok($objTr->eq("U\x{308}\x{301}", "\x{1D7}")); | |
99 | ok($objTr->eq("u\x{308}\x{304}", "\x{1D6}")); | |
100 | ok($objTr->eq("U\x{308}\x{304}", "\x{1D5}")); | |
101 | ok($objTr->eq("u\x{308}\x{30C}", "\x{1DA}")); | |
102 | ok($objTr->eq("U\x{308}\x{30C}", "\x{1D9}")); | |
103 | ||
104 | # 57 |