1 2require 5; 3use Test; 4BEGIN { plan tests => 11; } 5use Locale::Maketext 1.01; 6print "# Hi there...\n"; 7ok 1; 8 9print "# --- 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 29my $lh; 30print "# Basic sanity:\n"; 31ok defined( $lh = Woozle->get_handle('eu-mt') ) && ref($lh); 32ok $lh && $lh->maketext('d2', 7), "hum 14" ; 33 34 35 36print "# Make sure we can assign to ENV entries\n", 37 "# (Otherwise we can't run the subsequent tests)...\n"; 38$ENV{'MYORP'} = 'Zing'; 39ok $ENV{'MYORP'}, 'Zing'; 40$ENV{'SWUZ'} = 'KLORTHO HOOBOY'; 41ok $ENV{'SWUZ'}, 'KLORTHO HOOBOY'; 42 43delete $ENV{'MYORP'}; 44delete $ENV{'SWUZ'}; 45 46print "# Test LANG...\n"; 47$ENV{'REQUEST_METHOD'} = ''; 48$ENV{'LANG'} = 'Eu_MT'; 49$ENV{'LANGUAGE'} = ''; 50ok defined( $lh = Woozle->get_handle() ) && ref($lh); 51 52print "# Test LANGUAGE...\n"; 53$ENV{'LANG'} = ''; 54$ENV{'LANGUAGE'} = 'Eu-MT'; 55ok defined( $lh = Woozle->get_handle() ) && ref($lh); 56 57print "# Test HTTP_ACCEPT_LANGUAGE...\n"; 58$ENV{'REQUEST_METHOD'} = 'GET'; 59$ENV{'HTTP_ACCEPT_LANGUAGE'} = 'eu-MT'; 60ok defined( $lh = Woozle->get_handle() ) && ref($lh); 61$ENV{'HTTP_ACCEPT_LANGUAGE'} = 'x-plorp, zaz, eu-MT, i-klung'; 62ok defined( $lh = Woozle->get_handle() ) && ref($lh); 63$ENV{'HTTP_ACCEPT_LANGUAGE'} = 'x-plorp, zaz, eU-Mt, i-klung'; 64ok defined( $lh = Woozle->get_handle() ) && ref($lh); 65 66 67print "# Byebye!\n"; 68ok 1; 69 70