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 | |
3ba0e062 |
13 | no 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 | |
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; |