use strict;
use warnings;
use Test::Base;
use HTTP::MobileAgent;
use HTTP::Headers;
filters {
input => [qw/yaml functions/],
expected => [qw/yaml/],
};
run_is_deeply input => 'expected';
sub functions {
my $inputs_ref = shift;
my $header = HTTP::Headers->new;
$header->header( $_ => $inputs_ref->{ headers }->{ $_ } )
for keys %{ $inputs_ref->{ headers } };
my $ma = HTTP::MobileAgent->new( $header );
my @keys = qw/carrier user_id/;
+{ map { $_ => $ma->$_ || '' } @keys };
}
__END__
=== DoCoMo
--- input
headers:
User-Agent: DoCoMo/2.0 SH905i(c100;TB;W24H16)
X-DCMGUID: abcdef0
--- expected
carrier: I
user_id: abcdef0
=== SoftBank
--- input
headers:
User-Agent: SoftBank/1.0/815SH/SHJ002 Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
X-JPHONE-UID: abcdef0123456789
--- expected
carrier: V
user_id: abcdef0123456789
=== Vodafone
--- input
headers:
User-Agent: J-PHONE/2.0/J-DN02
X-JPHONE-UID:
--- expected
carrier: V
user_id:
=== KDDI
--- input
headers:
User-Agent: KDDI-SA3A UP.Browser/6.2.0.13.1.4 (GUI) MMP/2.0
X-UP-SUBNO: abcdef0123_45.ezweb.ne.jp
--- expected
carrier: E
user_id: abcdef0123_45.ezweb.ne.jp