Upgrade to I18N::LangTags 0.30.
[p5sagit/p5-mst-13.2.git] / lib / Locale / Maketext / t / 20_get.t
1
2 require 5;
3 use Test;
4 BEGIN { plan tests => 11; }
5 use Locale::Maketext 1.01;
6 print "# Hi there...\n";
7 ok 1;
8
9 print "# --- Making sure that get_handle works ---\n";
10
11 # declare some classes...
12 {
13   package Woozle;
14   @ISA = ('Locale::Maketext');
15   sub dubbil   { return $_[1] * 2 }
16   sub numerate { return $_[2] . 'en' }
17 }
18 {
19   package Woozle::eu_mt;
20   @ISA = ('Woozle');
21   %Lexicon = (
22    'd2' => 'hum [dubbil,_1]',
23    'd3' => 'hoo [quant,_1,zaz]',
24    'd4' => 'hoo [*,_1,zaz]',
25   );
26   keys %Lexicon; # dodges the 'used only once' warning
27 }
28
29 my $lh;
30 print "# Basic sanity:\n";
31 ok defined( $lh = Woozle->get_handle('eu-mt') ) && ref($lh);
32 ok $lh && $lh->maketext('d2', 7), "hum 14"      ;
33
34
35
36 print "# Make sure we can assign to ENV entries\n",
37       "# (Otherwise we can't run the subsequent tests)...\n";
38 $ENV{'MYORP'}   = 'Zing';
39 ok $ENV{'MYORP'}, 'Zing';
40 $ENV{'SWUZ'}   = 'KLORTHO HOOBOY';
41 ok $ENV{'SWUZ'}, 'KLORTHO HOOBOY';
42
43 delete $ENV{'MYORP'};
44 delete $ENV{'SWUZ'};
45
46
47 print "# Test LANG...\n";
48 $ENV{'LC_ALL'} = '';
49 $ENV{'LC_MESSAGES'} = '';
50 $ENV{'REQUEST_METHOD'} = '';
51 $ENV{'LANG'}     = 'Eu_MT';
52 $ENV{'LANGUAGE'} = '';
53 ok defined( $lh = Woozle->get_handle() ) && ref($lh);
54
55 print "# Test LANGUAGE...\n";
56 $ENV{'LANG'}     = '';
57 $ENV{'LANGUAGE'} = 'Eu-MT';
58 ok defined( $lh = Woozle->get_handle() ) && ref($lh);
59
60 print "# Test HTTP_ACCEPT_LANGUAGE...\n";
61 $ENV{'REQUEST_METHOD'}       = 'GET';
62 $ENV{'HTTP_ACCEPT_LANGUAGE'} = 'eu-MT';
63 ok defined( $lh = Woozle->get_handle() ) && ref($lh);
64 $ENV{'HTTP_ACCEPT_LANGUAGE'} = 'x-plorp, zaz, eu-MT, i-klung';
65 ok defined( $lh = Woozle->get_handle() ) && ref($lh);
66 $ENV{'HTTP_ACCEPT_LANGUAGE'} = 'x-plorp, zaz, eU-Mt, i-klung';
67 ok defined( $lh = Woozle->get_handle() ) && ref($lh);
68
69
70 print "# Byebye!\n";
71 ok 1;
72