This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
INADDR_ANY INADDR_BROADCAST INADDR_LOOPBACK INADDR_NONE
[perl5.git] / t / lib / lc-language.t
1 #!./perl
2 #
3 # language.t - tests for Locale::Language
4 #
5
6 BEGIN {
7         chdir 't' if -d 't';
8         @INC = '../lib';
9 }
10
11 use Locale::Language;
12
13 no utf8; # so that the naked 8-bit characters won't gripe under use utf8
14
15 #-----------------------------------------------------------------------
16 # This is an array of tests. Each test is eval'd as an expression.
17 # If it evaluates to FALSE, then "not ok N" is printed for the test,
18 # otherwise "ok N".
19 #-----------------------------------------------------------------------
20 @TESTS =
21 (
22         #================================================
23         # TESTS FOR code2language
24         #================================================
25
26  #---- selection of examples which should all result in undef -----------
27  '!defined code2language()',                 # no argument => undef returned
28  '!defined code2language(undef)',            # undef arg   => undef returned
29  '!defined code2language("zz")',             # illegal code => undef
30  '!defined code2language("jp")',             # ja for lang, jp for country
31
32  #---- test recent changes ----------------------------------------------
33  'code2language("ae") eq "Avestan"',
34  'code2language("bs") eq "Bosnian"',
35  'code2language("ch") eq "Chamorro"',
36  'code2language("ce") eq "Chechen"',
37  'code2language("cu") eq "Church Slavic"',
38  'code2language("cv") eq "Chuvash"',
39  'code2language("hz") eq "Herero"',
40  'code2language("ho") eq "Hiri Motu"',
41  'code2language("ki") eq "Kikuyu"',
42  'code2language("kj") eq "Kuanyama"',
43  'code2language("kv") eq "Komi"',
44  'code2language("mh") eq "Marshall"',
45  'code2language("nv") eq "Navajo"',
46  'code2language("nr") eq "Ndebele, South"',
47  'code2language("nd") eq "Ndebele, North"',
48  'code2language("ng") eq "Ndonga"',
49  'code2language("nn") eq "Norwegian Nynorsk"',
50  'code2language("nb") eq "Norwegian BokmÃ¥l"',
51  'code2language("ny") eq "Chichewa; Nyanja"',
52  'code2language("oc") eq "Occitan (post 1500)"',
53  'code2language("os") eq "Ossetian; Ossetic"',
54  'code2language("pi") eq "Pali"',
55  '!defined code2language("sh")',             # Serbo-Croatian withdrawn
56  'code2language("se") eq "Sami"',
57  'code2language("sc") eq "Sardinian"',
58  'code2language("kw") eq "Cornish"',
59  'code2language("gv") eq "Manx"',
60  'code2language("lb") eq "Letzeburgesch"',
61  'code2language("he") eq "Hebrew"',
62  '!defined code2language("iw")',             # Hebrew withdrawn
63  'code2language("id") eq "Indonesian"',
64  '!defined code2language("in")',             # Indonesian withdrawn
65  'code2language("iu") eq "Inuktitut"',
66  'code2language("ug") eq "Uighur"',
67  '!defined code2language("ji")',             # Yiddish withdrawn
68  'code2language("yi") eq "Yiddish"',
69  'code2language("za") eq "Zhuang"',
70
71  #---- some successful examples -----------------------------------------
72  'code2language("DA") eq "Danish"',
73  'code2language("eo") eq "Esperanto"',
74  'code2language("fi") eq "Finnish"',
75  'code2language("en") eq "English"',
76  'code2language("aa") eq "Afar"',            # first in DATA segment
77  'code2language("zu") eq "Zulu"',            # last in DATA segment
78
79         #================================================
80         # TESTS FOR language2code
81         #================================================
82
83  #---- selection of examples which should all result in undef -----------
84  '!defined language2code()',                 # no argument => undef returned
85  '!defined language2code(undef)',            # undef arg   => undef returned
86  '!defined language2code("Banana")',         # illegal lang name => undef
87
88  #---- some successful examples -----------------------------------------
89  'language2code("Japanese")  eq "ja"',
90  'language2code("japanese")  eq "ja"',
91  'language2code("japanese")  ne "jp"',
92  'language2code("French")    eq "fr"',
93  'language2code("Greek")     eq "el"',
94  'language2code("english")   eq "en"',
95  'language2code("ESTONIAN")  eq "et"',
96  'language2code("Afar")      eq "aa"',       # first in DATA segment
97  'language2code("Zulu")      eq "zu"',       # last in DATA segment
98 );
99
100 print "1..", int(@TESTS), "\n";
101
102 $testid = 1;
103 foreach $test (@TESTS)
104 {
105     eval "print (($test) ? \"ok $testid\\n\" : \"not ok $testid\\n\" )";
106     print "not ok $testid\n" if $@;
107     ++$testid;
108 }
109
110 exit 0;