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'
4 ######################### We start with some black magic to print on failure.
6 # Time-stamp: "2001-06-21 22:59:38 MDT"
9 BEGIN { plan tests => 46 };
11 use I18N::LangTags (':ALL');
13 print "# Perl v$], I18N::LangTags v$I18N::LangTags::VERSION\n";
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' );
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');
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');
46 print "# Now the ::List tests...\n";
47 use I18N::LangTags::List;
68 my $name = I18N::LangTags::List::name($lt);
71 print "# $lt -> $name\n";
74 print "# Failed lookup on $lt\n";
78 print "# So there!\n";