3 # language.t - tests for Locale::Language
13 no utf8; # so that the naked 8-bit characters won't gripe under use utf8
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,
19 #-----------------------------------------------------------------------
22 #================================================
23 # TESTS FOR code2language
24 #================================================
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
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"',
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
79 #================================================
80 # TESTS FOR language2code
81 #================================================
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
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
100 print "1..", int(@TESTS), "\n";
103 foreach $test (@TESTS)
105 eval "print (($test) ? \"ok $testid\\n\" : \"not ok $testid\\n\" )";
106 print "not ok $testid\n" if $@;