Update to Text::Balanced 1.85.
[p5sagit/p5-mst-13.2.git] / t / lib / i18n-langtags.t
CommitLineData
4b053158 1BEGIN {
2 chdir 't' if -d 't';
3 @INC = '../lib';
4}
5
6######################### We start with some black magic to print on failure.
7require 5;
8
9use strict;
10use Test;
11BEGIN { plan tests => 23 };
12BEGIN { ok 1 }
13use 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
20ok !is_language_tag('');
21ok is_language_tag('fr');
22ok is_language_tag('fr-ca');
23ok is_language_tag('fr-CA');
24ok !is_language_tag('fr-CA-');
25ok !is_language_tag('fr_CA');
26ok is_language_tag('fr-ca-joual');
27ok !is_language_tag('frca');
28ok is_language_tag('nav');
29ok is_language_tag('nav-shiprock');
30ok !is_language_tag('nav-ceremonial'); # subtag too long
31ok !is_language_tag('x');
32ok !is_language_tag('i');
33ok is_language_tag('i-borg'); # NB: fictitious tag
34ok is_language_tag('x-borg');
35ok is_language_tag('x-borg-prot5123');
36ok same_language_tag('x-borg-prot5123', 'i-BORG-Prot5123' );
37ok !same_language_tag('en', 'en-us' );
38
39ok 0 == similarity_language_tag('en-ca', 'fr-ca');
40ok 1 == similarity_language_tag('en-ca', 'en-us');
41ok 2 == similarity_language_tag('en-us-southern', 'en-us-western');
42ok 2 == similarity_language_tag('en-us-southern', 'en-us');
43
44# print "So there!\n";
45