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 => 51 }; | |
16 | ||
17 | use strict; | |
18 | use warnings; | |
19 | use Unicode::Collate; | |
20 | ||
21 | ok(1); | |
22 | ||
23 | ######################### | |
24 | ||
25 | use Unicode::Collate::CJK::Korean; | |
26 | ||
27 | my $collator = Unicode::Collate->new( | |
28 | normalization => undef, | |
29 | overrideCJK => \&Unicode::Collate::CJK::Korean::weightKorean | |
30 | ); | |
31 | ||
32 | $collator->change(level => 1); | |
33 | ||
34 | ok($collator->eq("\x{AC00}", "\x{4F3D}")); | |
35 | ok($collator->eq("\x{4F3D}", "\x{4F73}")); | |
36 | ok($collator->eq("\x{4F73}", "\x{5047}")); | |
37 | ok($collator->eq("\x{5047}", "\x{50F9}")); | |
38 | ok($collator->eq("\x{50F9}", "\x{52A0}")); | |
39 | ok($collator->eq("\x{52A0}", "\x{53EF}")); | |
40 | ok($collator->lt("\x{53EF}", "\x{AC01}")); | |
41 | ||
42 | ok($collator->eq("\x{AC1D}", "\x{5580}")); | |
43 | ok($collator->eq("\x{5580}", "\x{5BA2}")); | |
44 | ok($collator->lt("\x{5BA2}", "\x{AC31}")); | |
45 | ||
46 | ok($collator->eq("\x{C77C}", "\x{4E00}")); | |
47 | ok($collator->eq("\x{4E00}", "\x{4F5A}")); | |
48 | ok($collator->eq("\x{4F5A}", "\x{4F7E}")); | |
49 | ||
50 | ok($collator->lt("\x{993C}", "\x{D790}")); | |
51 | ok($collator->eq("\x{D790}", "\x{8A70}")); | |
52 | ok($collator->eq("\x{8A70}", "\x{72B5}")); | |
53 | ok($collator->eq("\x{72B5}", "\x{7E88}")); | |
54 | ok($collator->eq("\x{7E88}", "\x{896D}")); | |
55 | ok($collator->eq("\x{896D}", "\x{9821}")); | |
56 | ok($collator->eq("\x{9821}", "\x{9EE0}")); | |
57 | ||
58 | # Ext.B | |
59 | ok($collator->lt("\x{20000}", "\x{20001}")); | |
60 | ok($collator->lt("\x{20001}", "\x{20002}")); | |
61 | ok($collator->lt("\x{20002}", "\x{20003}")); | |
62 | ok($collator->lt("\x{20003}", "\x{20004}")); | |
63 | ok($collator->lt("\x{20004}", "\x{20005}")); | |
64 | ||
65 | # 26 | |
66 | ||
67 | $collator->change(level => 2); | |
68 | ||
69 | ok($collator->lt("\x{AC00}", "\x{4F3D}")); | |
70 | ok($collator->lt("\x{4F3D}", "\x{4F73}")); | |
71 | ok($collator->lt("\x{4F73}", "\x{5047}")); | |
72 | ok($collator->lt("\x{5047}", "\x{50F9}")); | |
73 | ok($collator->lt("\x{50F9}", "\x{52A0}")); | |
74 | ok($collator->lt("\x{52A0}", "\x{53EF}")); | |
75 | ok($collator->lt("\x{53EF}", "\x{AC01}")); | |
76 | ||
77 | ok($collator->lt("\x{AC1D}", "\x{5580}")); | |
78 | ok($collator->lt("\x{5580}", "\x{5BA2}")); | |
79 | ok($collator->lt("\x{5BA2}", "\x{AC31}")); | |
80 | ||
81 | ok($collator->lt("\x{C77C}", "\x{4E00}")); | |
82 | ok($collator->lt("\x{4E00}", "\x{4F5A}")); | |
83 | ok($collator->lt("\x{4F5A}", "\x{4F7E}")); | |
84 | ||
85 | ok($collator->lt("\x{993C}", "\x{D790}")); | |
86 | ok($collator->lt("\x{D790}", "\x{8A70}")); | |
87 | ok($collator->lt("\x{8A70}", "\x{72B5}")); | |
88 | ok($collator->lt("\x{72B5}", "\x{7E88}")); | |
89 | ok($collator->lt("\x{7E88}", "\x{896D}")); | |
90 | ok($collator->lt("\x{896D}", "\x{9821}")); | |
91 | ok($collator->lt("\x{9821}", "\x{9EE0}")); | |
92 | ||
93 | # Ext.B | |
94 | ok($collator->lt("\x{20000}", "\x{20001}")); | |
95 | ok($collator->lt("\x{20001}", "\x{20002}")); | |
96 | ok($collator->lt("\x{20002}", "\x{20003}")); | |
97 | ok($collator->lt("\x{20003}", "\x{20004}")); | |
98 | ok($collator->lt("\x{20004}", "\x{20005}")); | |
99 | ||
100 | # 51 |