Test::MobileAgent 0.06
Songmuさんが「カッとなってHTTP::MobileAgent::Plugin::SmartPhoneをCPANに上げた」とのことなので、こちらもとりあえず対応版をアップしておきました。SYNOPSISにはこんな使い方を載せてありますが、実際にはテスト用にUAを改竄することで、アプリがUAごとに正しくリダイレクトするか、正しいページを出力してくれているかをテストするときとかに使うモノです。
use strict; use warnings; use Test::More; use Test::MobileAgent ':all'; use HTTP::MobileAgent; { local %ENV; test_mobile_agent('iphone'); my $ua = HTTP::MobileAgent->new; ok $ua->is_smartphone; ok $ua->is_iphone; }
HTTP::MobileAgentを使っていない環境でも、以下のようなコードを書けばUAを偽装したリクエストをつくれます。Plack::Testなどとあわせて使えば効果的かと。
use strict; use warnings; use HTTP::Request; use Test::MobileAgent ':all'; local %ENV; my $headers = test_mobile_agent_headers('iphone'); my $req = HTTP::Request->new(GET => '/hello', $headers);
現状ひとまずスマホ部分は全部::SmartPhoneに突っ込んでありますが、この辺は(既存のHTTP::MobileAgentがそうしているように)将来的にUA一覧を持たせるようになったら分割するとおもいます。