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