1 2BEGIN { 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 14use strict; 15use warnings; 16BEGIN { $| = 1; print "1..41\n"; } 17my $count = 0; 18sub ok ($;$) { 19 my $p = my $r = shift; 20 if (@_) { 21 my $x = shift; 22 $p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x; 23 } 24 print $p ? "ok" : "not ok", ' ', ++$count, "\n"; 25} 26 27use Unicode::Collate::Locale; 28 29ok(1); 30 31######################### 32 33my $objOm = Unicode::Collate::Locale-> 34 new(locale => 'OM', normalization => undef); 35 36ok($objOm->getlocale, 'om'); 37 38$objOm->change(level => 1); 39 40ok($objOm->lt("z", "ch")); 41ok($objOm->lt("ch", "dh")); 42ok($objOm->lt("dh", "kh")); 43ok($objOm->lt("kh", "ny")); 44ok($objOm->lt("ny", "ph")); 45ok($objOm->lt("ph", "sh")); 46 47# 8 48 49$objOm->change(level => 2); 50 51ok($objOm->eq("ch", "Ch")); 52ok($objOm->eq("Ch", "CH")); 53ok($objOm->eq("dh", "Dh")); 54ok($objOm->eq("Dh", "DH")); 55ok($objOm->eq("kh", "Kh")); 56ok($objOm->eq("Kh", "KH")); 57ok($objOm->eq("ny", "Ny")); 58ok($objOm->eq("Ny", "NY")); 59ok($objOm->eq("ph", "Ph")); 60ok($objOm->eq("Ph", "PH")); 61ok($objOm->eq("sh", "Sh")); 62 63# 19 64 65$objOm->change(level => 3); 66 67ok($objOm->lt("ch", "Ch")); 68ok($objOm->lt("Ch", "CH")); 69ok($objOm->lt("dh", "Dh")); 70ok($objOm->lt("Dh", "DH")); 71ok($objOm->lt("kh", "Kh")); 72ok($objOm->lt("Kh", "KH")); 73ok($objOm->lt("ny", "Ny")); 74ok($objOm->lt("Ny", "NY")); 75ok($objOm->lt("ph", "Ph")); 76ok($objOm->lt("Ph", "PH")); 77ok($objOm->lt("sh", "Sh")); 78 79# 30 80 81$objOm->change(upper_before_lower => 1); 82 83ok($objOm->gt("ch", "Ch")); 84ok($objOm->gt("Ch", "CH")); 85ok($objOm->gt("dh", "Dh")); 86ok($objOm->gt("Dh", "DH")); 87ok($objOm->gt("kh", "Kh")); 88ok($objOm->gt("Kh", "KH")); 89ok($objOm->gt("ny", "Ny")); 90ok($objOm->gt("Ny", "NY")); 91ok($objOm->gt("ph", "Ph")); 92ok($objOm->gt("Ph", "PH")); 93ok($objOm->gt("sh", "Sh")); 94 95# 41 96