use strict;
use Test::Base;
use HTTP::MobileAgent::Plugin::RoamingZone;
plan tests => 3 * blocks;
filters {
input => [qw/chomp/],
expected => [qw/chomp/],
};
run {
local %ENV;
my $block = shift;
my ($ua,$data) = map { $_ eq 'UNDEF' ? undef : $_ eq 'NULL' ? '' : $_ } split(/\n/,$block->input);
my ($code,$name,$is_os) = map { $_ eq 'UNDEF' ? undef : $_ eq 'NULL' ? '' : $_ } split(/\n/,$block->expected);
$ENV{'HTTP_USER_AGENT'} = $ua;
my $key = $ua =~ /^DoCoMo/ ? 'HTTP_X_DCMROAMING' :
$ua =~ /^SoftBank/ ? 'HTTP_X_JPHONE_REGION' :
'HTTP_X_UP_DEVCAP_ZONE';
$ENV{$key} = $data;
my $ma = HTTP::MobileAgent->new;
is ( $ma->zone_code, $code );
is ( $ma->zone_name, $name );
is ( $ma->is_oversea, $is_os );
};
__END__
=== DoCoMo No Data
--- input
DoCoMo/2.0 P903i(c100;TB;W24H12)
UNDEF
--- expected
440
Japan
0
=== DoCoMo No Data
--- input
DoCoMo/2.0 P903i(c100;TB;W24H12)
NULL
--- expected
440
Japan
0
=== DoCoMo Greece
--- input
DoCoMo/2.0 P903i(c100;TB;W24H12)
202
--- expected
202
Greece
1
=== DoCoMo Haiti
--- input
DoCoMo/2.0 P903i(c100;TB;W24H12)
372
--- expected
372
Haiti (Republic of)
1
=== SoftBank No Data
--- input
SoftBank/1.0/910T/TJ001/SN351774012575317 Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
UNDEF
--- expected
440
Japan
0
=== SoftBank No Data
--- input
SoftBank/1.0/910T/TJ001/SN351774012575317 Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
NULL
--- expected
440
Japan
0
=== SoftBank Japan
--- input
SoftBank/1.0/910T/TJ001/SN351774012575317 Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
44020
--- expected
44020
Japan
0
=== SoftBank Oversea
--- input
SoftBank/1.0/910T/TJ001/SN351774012575317 Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
fffff
--- expected
fffff
Unknown
1
=== EZWEB No Data
--- input
KDDI-SA3D UP.Browser/6.2_7.2.7.1.K.1.5.123 (GUI) MMP/2.0
NULL
--- expected
12304
Japan
0
=== EZWEB No Data
--- input
KDDI-SA3D UP.Browser/6.2_7.2.7.1.K.1.5.123 (GUI) MMP/2.0
UNDEF
--- expected
12304
Japan
0
=== EZWEB Japan? (Need more information)
--- input
KDDI-SA3D UP.Browser/6.2_7.2.7.1.K.1.5.123 (GUI) MMP/2.0
12304
--- expected
12304
Japan
0
=== EZWEB Other case? (Need more information)
--- input
KDDI-SA3D UP.Browser/6.2_7.2.7.1.K.1.5.123 (GUI) MMP/2.0
12345
--- expected
12345
Japan
0