Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | # Before `make install' is performed this script should be runnable with |
2 | # `make test'. After `make install' it should work as `perl test.pl' | |
3 | ||
4 | ######################### We start with some black magic to print on failure. | |
5 | require 5; | |
6 | # Time-stamp: "2001-06-21 22:59:38 MDT" | |
7 | use strict; | |
8 | use Test; | |
9 | BEGIN { plan tests => 46 }; | |
10 | BEGIN { ok 1 } | |
11 | use I18N::LangTags (':ALL'); | |
12 | ||
13 | print "# Perl v$], I18N::LangTags v$I18N::LangTags::VERSION\n"; | |
14 | ||
15 | ok !is_language_tag(''); | |
16 | ok is_language_tag('fr'); | |
17 | ok is_language_tag('fr-ca'); | |
18 | ok is_language_tag('fr-CA'); | |
19 | ok !is_language_tag('fr-CA-'); | |
20 | ok !is_language_tag('fr_CA'); | |
21 | ok is_language_tag('fr-ca-joual'); | |
22 | ok !is_language_tag('frca'); | |
23 | ok is_language_tag('nav'); | |
24 | ok is_language_tag('nav-shiprock'); | |
25 | ok !is_language_tag('nav-ceremonial'); # subtag too long | |
26 | ok !is_language_tag('x'); | |
27 | ok !is_language_tag('i'); | |
28 | ok is_language_tag('i-borg'); # NB: fictitious tag | |
29 | ok is_language_tag('x-borg'); | |
30 | ok is_language_tag('x-borg-prot5123'); | |
31 | ok same_language_tag('x-borg-prot5123', 'i-BORG-Prot5123' ); | |
32 | ok !same_language_tag('en', 'en-us' ); | |
33 | ||
34 | ok 0 == similarity_language_tag('en-ca', 'fr-ca'); | |
35 | ok 1 == similarity_language_tag('en-ca', 'en-us'); | |
36 | ok 2 == similarity_language_tag('en-us-southern', 'en-us-western'); | |
37 | ok 2 == similarity_language_tag('en-us-southern', 'en-us'); | |
38 | ||
39 | ok grep $_ eq 'hi', panic_languages('kok'); | |
40 | ok grep $_ eq 'en', panic_languages('x-woozle-wuzzle'); | |
41 | ok ! grep $_ eq 'mr', panic_languages('it'); | |
42 | ok grep $_ eq 'es', panic_languages('it'); | |
43 | ok grep $_ eq 'it', panic_languages('es'); | |
44 | ||
45 | ||
46 | print "# Now the ::List tests...\n"; | |
47 | use I18N::LangTags::List; | |
48 | foreach my $lt (qw( | |
49 | en | |
50 | en-us | |
51 | en-kr | |
52 | el | |
53 | elx | |
54 | i-mingo | |
55 | i-mingo-tom | |
56 | x-mingo-tom | |
57 | it | |
58 | it-it | |
59 | it-IT | |
60 | it-FR | |
61 | yi | |
62 | ji | |
63 | cre-syllabic | |
64 | cre-syllabic-western | |
65 | cre-western | |
66 | cre-latin | |
67 | )) { | |
68 | my $name = I18N::LangTags::List::name($lt); | |
69 | if($name) { | |
70 | ok(1); | |
71 | print "# $lt -> $name\n"; | |
72 | } else { | |
73 | ok(0); | |
74 | print "# Failed lookup on $lt\n"; | |
75 | } | |
76 | } | |
77 | ||
78 | print "# So there!\n"; | |
79 |