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