This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Refactor die_exit.t to loop over a list, rather than iterate on an hash.
[perl5.git] / cpan / Unicode-Collate / t / loc_deph.t
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 => 42 };
16
17 use strict;
18 use warnings;
19 use Unicode::Collate::Locale;
20
21 ok(1);
22
23 #########################
24
25 my $auml = pack 'U', 0xE4;
26 my $Auml = pack 'U', 0xC4;
27 my $ouml = pack 'U', 0xF6;
28 my $Ouml = pack 'U', 0xD6;
29 my $uuml = pack 'U', 0xFC;
30 my $Uuml = pack 'U', 0xDC;
31
32 my $objDePhone = Unicode::Collate::Locale->
33     new(locale => 'DE-PHONE', normalization => undef);
34
35 ok($objDePhone->getlocale, 'de__phonebook');
36
37 $objDePhone->change(level => 1);
38
39 ok($objDePhone->eq("a\x{308}", "ae"));
40 ok($objDePhone->eq("A\x{308}", "AE"));
41 ok($objDePhone->eq("o\x{308}", "oe"));
42 ok($objDePhone->eq("O\x{308}", "OE"));
43 ok($objDePhone->eq("u\x{308}", "ue"));
44 ok($objDePhone->eq("U\x{308}", "UE"));
45
46 # 8
47
48 $objDePhone->change(level => 2);
49
50 ok($objDePhone->gt("a\x{308}", "ae"));
51 ok($objDePhone->gt("A\x{308}", "AE"));
52 ok($objDePhone->gt("o\x{308}", "oe"));
53 ok($objDePhone->gt("O\x{308}", "OE"));
54 ok($objDePhone->gt("u\x{308}", "ue"));
55 ok($objDePhone->gt("U\x{308}", "UE"));
56
57 ok($objDePhone->eq("a\x{308}", "A\x{308}"));
58 ok($objDePhone->eq("o\x{308}", "O\x{308}"));
59 ok($objDePhone->eq("u\x{308}", "U\x{308}"));
60
61 # 17
62
63 $objDePhone->change(level => 3);
64
65 ok($objDePhone->lt("a\x{308}", "A\x{308}"));
66 ok($objDePhone->lt("o\x{308}", "O\x{308}"));
67 ok($objDePhone->lt("u\x{308}", "U\x{308}"));
68
69 ok($objDePhone->eq("a\x{308}", $auml));
70 ok($objDePhone->eq("A\x{308}", $Auml));
71 ok($objDePhone->eq("o\x{308}", $ouml));
72 ok($objDePhone->eq("O\x{308}", $Ouml));
73 ok($objDePhone->eq("u\x{308}", $uuml));
74 ok($objDePhone->eq("U\x{308}", $Uuml));
75
76 # 26
77
78 ok($objDePhone->eq("a\x{308}\x{304}", "\x{1DF}"));
79 ok($objDePhone->eq("A\x{308}\x{304}", "\x{1DE}"));
80 ok($objDePhone->eq("o\x{308}\x{304}", "\x{22B}"));
81 ok($objDePhone->eq("O\x{308}\x{304}", "\x{22A}"));
82 ok($objDePhone->eq("u\x{308}\x{300}", "\x{1DC}"));
83 ok($objDePhone->eq("U\x{308}\x{300}", "\x{1DB}"));
84 ok($objDePhone->eq("u\x{308}\x{301}", "\x{1D8}"));
85 ok($objDePhone->eq("U\x{308}\x{301}", "\x{1D7}"));
86 ok($objDePhone->eq("u\x{308}\x{304}", "\x{1D6}"));
87 ok($objDePhone->eq("U\x{308}\x{304}", "\x{1D5}"));
88 ok($objDePhone->eq("u\x{308}\x{30C}", "\x{1DA}"));
89 ok($objDePhone->eq("U\x{308}\x{30C}", "\x{1D9}"));
90
91 # 38
92
93 my $objDePhoneBook = Unicode::Collate::Locale->
94     new(locale => 'de__phonebook', normalization => undef);
95
96 ok($objDePhoneBook->getlocale, 'de__phonebook');
97
98 $objDePhoneBook->change(level => 1);
99
100 ok($objDePhoneBook->eq("a\x{308}", "ae"));
101
102 # 40
103
104 my $objDePhonebk = Unicode::Collate::Locale->
105     new(locale => 'de-phonebk', normalization => undef);
106
107 ok($objDePhonebk->getlocale, 'de__phonebook');
108
109 $objDePhonebk->change(level => 1);
110
111 ok($objDePhonebk->eq("a\x{308}", "ae"));
112
113 # 42