1
2BEGIN {
3    if ($ENV{PERL_CORE}) {
4	chdir('t') if -d 't';
5	@INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
6    }
7}
8
9use strict;
10use warnings;
11BEGIN { $| = 1; print "1..52\n"; }
12my $count = 0;
13sub ok ($;$) {
14    my $p = my $r = shift;
15    if (@_) {
16	my $x = shift;
17	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
18    }
19    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
20}
21
22use Unicode::Collate::Locale;
23
24ok(1);
25
26sub _pack_U   { Unicode::Collate::pack_U(@_) }
27sub _unpack_U { Unicode::Collate::unpack_U(@_) }
28
29#########################
30
31my $objKo = Unicode::Collate::Locale->
32    new(locale => 'KO', normalization => undef);
33
34ok($objKo->getlocale, 'ko');
35
36$objKo->change(level => 1);
37
38ok($objKo->eq("\x{AC00}", "\x{4F3D}"));
39ok($objKo->eq("\x{4F3D}", "\x{4F73}"));
40ok($objKo->eq("\x{4F73}", "\x{5047}"));
41ok($objKo->eq("\x{5047}", "\x{50F9}"));
42ok($objKo->eq("\x{50F9}", "\x{52A0}"));
43ok($objKo->eq("\x{52A0}", "\x{53EF}"));
44ok($objKo->lt("\x{53EF}", "\x{AC01}"));
45
46ok($objKo->eq("\x{AC1D}", "\x{5580}"));
47ok($objKo->eq("\x{5580}", "\x{5BA2}"));
48ok($objKo->lt("\x{5BA2}", "\x{AC31}"));
49
50ok($objKo->eq("\x{C77C}", "\x{4E00}"));
51ok($objKo->eq("\x{4E00}", "\x{4F5A}"));
52ok($objKo->eq("\x{4F5A}", "\x{4F7E}"));
53
54ok($objKo->lt("\x{993C}", "\x{D790}"));
55ok($objKo->eq("\x{D790}", "\x{8A70}"));
56ok($objKo->eq("\x{8A70}", "\x{72B5}"));
57ok($objKo->eq("\x{72B5}", "\x{7E88}"));
58ok($objKo->eq("\x{7E88}", "\x{896D}"));
59ok($objKo->eq("\x{896D}", "\x{9821}"));
60ok($objKo->eq("\x{9821}", "\x{9EE0}"));
61
62# 22
63
64# Ext.B
65ok($objKo->lt("\x{20000}", "\x{20001}"));
66ok($objKo->lt("\x{20001}", "\x{20002}"));
67ok($objKo->lt("\x{20002}", "\x{20003}"));
68ok($objKo->lt("\x{20003}", "\x{20004}"));
69ok($objKo->lt("\x{20004}", "\x{20005}"));
70
71# 27
72
73$objKo->change(level => 2);
74
75ok($objKo->lt("\x{AC00}", "\x{4F3D}"));
76ok($objKo->lt("\x{4F3D}", "\x{4F73}"));
77ok($objKo->lt("\x{4F73}", "\x{5047}"));
78ok($objKo->lt("\x{5047}", "\x{50F9}"));
79ok($objKo->lt("\x{50F9}", "\x{52A0}"));
80ok($objKo->lt("\x{52A0}", "\x{53EF}"));
81ok($objKo->lt("\x{53EF}", "\x{AC01}"));
82
83ok($objKo->lt("\x{AC1D}", "\x{5580}"));
84ok($objKo->lt("\x{5580}", "\x{5BA2}"));
85ok($objKo->lt("\x{5BA2}", "\x{AC31}"));
86
87ok($objKo->lt("\x{C77C}", "\x{4E00}"));
88ok($objKo->lt("\x{4E00}", "\x{4F5A}"));
89ok($objKo->lt("\x{4F5A}", "\x{4F7E}"));
90
91ok($objKo->lt("\x{993C}", "\x{D790}"));
92ok($objKo->lt("\x{D790}", "\x{8A70}"));
93ok($objKo->lt("\x{8A70}", "\x{72B5}"));
94ok($objKo->lt("\x{72B5}", "\x{7E88}"));
95ok($objKo->lt("\x{7E88}", "\x{896D}"));
96ok($objKo->lt("\x{896D}", "\x{9821}"));
97ok($objKo->lt("\x{9821}", "\x{9EE0}"));
98
99# 47
100
101# Ext.B
102ok($objKo->lt("\x{20000}", "\x{20001}"));
103ok($objKo->lt("\x{20001}", "\x{20002}"));
104ok($objKo->lt("\x{20002}", "\x{20003}"));
105ok($objKo->lt("\x{20003}", "\x{20004}"));
106ok($objKo->lt("\x{20004}", "\x{20005}"));
107
108# 52
109