4 # Time-stamp: "2004-07-01 14:33:50 ADT"
5 BEGIN { plan tests => 18; }
6 use I18N::LangTags::Detect 1.01;
7 print "# Hi there...\n";
10 print "# Using I18N::LangTags::Detect v$I18N::LangTags::Detect::VERSION\n";
12 print "# Make sure we can assign to ENV entries\n",
13 "# (Otherwise we can't run the subsequent tests)...\n";
14 $ENV{'MYORP'} = 'Zing'; ok $ENV{'MYORP'}, 'Zing';
15 $ENV{'SWUZ'} = 'KLORTHO HOOBOY'; ok $ENV{'SWUZ'}, 'KLORTHO HOOBOY';
20 sub j { "[" . join(' ', map "\"$_\"", @_) . "]" ;}
23 print "# (Seeing {", join(' ',
24 map(qq{<$_>}, @_)), "} at line ", (caller)[2], ")\n";
30 foreach my $k (sort keys %ENV) {
31 my $p = $ENV{$k}; $p =~ s/\n/\n#/g;
32 print "# [$k] = [$p]\n"; }
33 print "# [end of ENV]\n#\n";
36 $ENV{'IGNORE_WIN32_LOCALE'} = 1; # a hack, just for testing's sake.
39 print "# Test LANGUAGE...\n";
40 $ENV{'REQUEST_METHOD'} = '';
41 $ENV{'LANGUAGE'} = 'Eu-MT';
43 $ENV{'LC_MESSAGES'} = '';
45 ok show( scalar I18N::LangTags::Detect::detect()), "eu-mt";
46 ok show( j I18N::LangTags::Detect::detect()), q{["eu-mt"]};
49 print "# Test LC_ALL...\n";
50 $ENV{'REQUEST_METHOD'} = '';
51 $ENV{'LANGUAGE'} = '';
52 $ENV{'LC_ALL'} = 'Eu-MT';
53 $ENV{'LC_MESSAGES'} = '';
56 ok show( scalar I18N::LangTags::Detect::detect()), "eu-mt";
57 ok show( j I18N::LangTags::Detect::detect()), q{["eu-mt"]};
59 print "# Test LC_MESSAGES...\n";
60 $ENV{'REQUEST_METHOD'} = '';
61 $ENV{'LANGUAGE'} = '';
63 $ENV{'LC_MESSAGES'} = 'Eu-MT';
66 ok show( scalar I18N::LangTags::Detect::detect()), "eu-mt";
67 ok show( j I18N::LangTags::Detect::detect()), q{["eu-mt"]};
70 print "# Test LANG...\n";
71 $ENV{'REQUEST_METHOD'} = '';
72 $ENV{'LANGUAGE'} = '';
74 $ENV{'LC_MESSAGES'} = '';
75 $ENV{'LANG'} = 'Eu_MT';
77 ok show( scalar I18N::LangTags::Detect::detect()), "eu-mt";
78 ok show( j I18N::LangTags::Detect::detect()), q{["eu-mt"]};
83 print "# Test HTTP_ACCEPT_LANGUAGE...\n";
84 $ENV{'REQUEST_METHOD'} = 'GET';
85 $ENV{'HTTP_ACCEPT_LANGUAGE'} = 'eu-MT';
86 ok show( scalar I18N::LangTags::Detect::detect()), "eu-mt";
87 ok show( j I18N::LangTags::Detect::detect()), q{["eu-mt"]};
90 $ENV{'HTTP_ACCEPT_LANGUAGE'} = 'x-plorp, zaz, eu-MT, i-klung';
91 ok show( scalar I18N::LangTags::Detect::detect()), "x-plorp";
92 ok show( j I18N::LangTags::Detect::detect()), qq{["x-plorp" "i-plorp" "zaz" "eu-mt" "i-klung" "x-klung"]};
94 $ENV{'HTTP_ACCEPT_LANGUAGE'} = 'x-plorp, zaz, eU-Mt, i-klung';
95 ok show( scalar I18N::LangTags::Detect::detect()), "x-plorp";
96 ok show( j I18N::LangTags::Detect::detect()), qq{["x-plorp" "i-plorp" "zaz" "eu-mt" "i-klung" "x-klung"]};