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