Update Unicode-Collate to CPAN version 1.27
[perl.git] / cpan / Unicode-Collate / t / loc_es.t
1
2 BEGIN {
3     unless ('A' eq pack('U', 0x41)) {
4         print "1..0 # Unicode::Collate cannot pack a Unicode code point\n";
5         exit 0;
6     }
7     unless (0x41 == unpack('U', 'A')) {
8         print "1..0 # Unicode::Collate cannot get a Unicode code point\n";
9         exit 0;
10     }
11     if ($ENV{PERL_CORE}) {
12         chdir('t') if -d 't';
13         @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
14     }
15 }
16
17 use strict;
18 use warnings;
19 BEGIN { $| = 1; print "1..30\n"; }
20 my $count = 0;
21 sub ok ($;$) {
22     my $p = my $r = shift;
23     if (@_) {
24         my $x = shift;
25         $p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
26     }
27     print $p ? "ok" : "not ok", ' ', ++$count, "\n";
28 }
29
30 use Unicode::Collate::Locale;
31
32 ok(1);
33
34 #########################
35
36 my $objEs = Unicode::Collate::Locale->
37     new(locale => 'ES', normalization => undef);
38
39 ok($objEs->getlocale, 'es');
40 ok($objEs->locale_version, 1.27);
41
42 $objEs->change(level => 1);
43
44 ok($objEs->lt("cg","ch"));
45 ok($objEs->gt("ci","ch"));
46 ok($objEs->gt("d", "ch"));
47 ok($objEs->lt("lk","ll"));
48 ok($objEs->gt("lm","ll"));
49 ok($objEs->gt("m", "ll"));
50 ok($objEs->lt("n", "n\x{303}"));
51 ok($objEs->lt("nz","n\x{303}"));
52 ok($objEs->gt("o", "n\x{303}"));
53
54 # 12
55
56 ok($objEs->eq("a\x{300}a", "aa\x{300}"));
57
58 $objEs->change(level => 2);
59
60 ok($objEs->gt("a\x{300}a", "aa\x{300}"));
61 ok($objEs->lt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
62 ok($objEs->lt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
63
64 # 16
65
66 ok($objEs->eq("ch", "Ch"));
67 ok($objEs->eq("Ch", "CH"));
68 ok($objEs->eq("ll", "Ll"));
69 ok($objEs->eq("Ll", "LL"));
70 ok($objEs->eq("n\x{303}", "N\x{303}"));
71
72 # 21
73
74 $objEs->change(level => 3);
75
76 ok($objEs->lt("ch", "Ch"));
77 ok($objEs->lt("Ch", "CH"));
78 ok($objEs->lt("ll", "Ll"));
79 ok($objEs->lt("Ll", "LL"));
80 ok($objEs->lt("n\x{303}", "N\x{303}"));
81 ok($objEs->eq("n\x{303}", pack('U', 0xF1)));
82 ok($objEs->eq("N\x{303}", pack('U', 0xD1)));
83
84 # 28
85
86 $objEs->change(level => 2, ignore_level2 => 1);
87
88 ok($objEs->lt("n", "n\x{303}"));
89 ok($objEs->eq("a", "a\x{303}"));
90
91 # 30