Commit | Line | Data |
21aeefd5 |
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' |
4b053158 |
3 | |
4 | ######################### We start with some black magic to print on failure. |
5 | require 5; |
acff0af7 |
6 | # Time-stamp: "2001-06-21 22:59:38 MDT" |
4b053158 |
7 | use strict; |
8 | use Test; |
21aeefd5 |
9 | BEGIN { plan tests => 46 }; |
4b053158 |
10 | BEGIN { ok 1 } |
21aeefd5 |
11 | use I18N::LangTags (':ALL'); |
4b053158 |
12 | |
acff0af7 |
13 | print "# Perl v$], I18N::LangTags v$I18N::LangTags::VERSION\n"; |
14 | |
4b053158 |
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 | |
21aeefd5 |
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"; |
4b053158 |
79 | |