Upgrade to Attribute::Handlers 0.70.
[p5sagit/p5-mst-13.2.git] / t / lib / lc-language.t
CommitLineData
47a334e9 1#!./perl
2#
3# language.t - tests for Locale::Language
4#
a8135056 5
6BEGIN {
7 chdir 't' if -d 't';
8 @INC = '../lib';
9}
10
47a334e9 11use Locale::Language;
12
3ba0e062 13no utf8; # so that the naked 8-bit characters won't gripe under use utf8
14
47a334e9 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
100print "1..", int(@TESTS), "\n";
101
102$testid = 1;
103foreach $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
110exit 0;