(was Re: Why t/lib/extutils.t is failing ...
[p5sagit/p5-mst-13.2.git] / t / lib / i18n-langtags.t
1 BEGIN {
2     chdir 't' if -d 't';
3     @INC = '../lib';
4 }
5
6 ######################### We start with some black magic to print on failure.
7 require 5;
8
9 use strict;
10 use Test;
11 BEGIN { plan tests => 23 };
12 BEGIN { ok 1 }
13 use I18N::LangTags qw(is_language_tag same_language_tag
14                       extract_language_tags super_languages
15                       similarity_language_tag is_dialect_of
16                       locale2language_tag alternate_language_tags
17                       encode_language_tag
18                      );
19
20 ok !is_language_tag('');
21 ok  is_language_tag('fr');
22 ok  is_language_tag('fr-ca');
23 ok  is_language_tag('fr-CA');
24 ok !is_language_tag('fr-CA-');
25 ok !is_language_tag('fr_CA');
26 ok  is_language_tag('fr-ca-joual');
27 ok !is_language_tag('frca');
28 ok  is_language_tag('nav');
29 ok  is_language_tag('nav-shiprock');
30 ok !is_language_tag('nav-ceremonial'); # subtag too long
31 ok !is_language_tag('x');
32 ok !is_language_tag('i');
33 ok  is_language_tag('i-borg'); # NB: fictitious tag
34 ok  is_language_tag('x-borg');
35 ok  is_language_tag('x-borg-prot5123');
36 ok  same_language_tag('x-borg-prot5123', 'i-BORG-Prot5123' );
37 ok !same_language_tag('en', 'en-us' );
38
39 ok 0 == similarity_language_tag('en-ca', 'fr-ca');
40 ok 1 == similarity_language_tag('en-ca', 'en-us');
41 ok 2 == similarity_language_tag('en-us-southern', 'en-us-western');
42 ok 2 == similarity_language_tag('en-us-southern', 'en-us');
43
44 # print "So there!\n";
45