Commit | Line | Data |
4b053158 |
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 | |