use strict; use warnings; use Test::More; use Duadua; { my $d = Duadua->new('Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)', { version => 1 }); is $d->name, 'Googlebot', 'reset'; ok !$d->is_windows; is $d->version, '2.1'; my $result = $d->reparse; is $result->name, 'UNKNOWN', 'undef'; is $result->ua, ''; ok !$result->is_bot; ok !$result->is_ios; ok !$result->is_android; ok !$result->is_linux; ok !$result->is_windows; ok !$result->version; $result = $d->reparse(0); is $result->name, 'UNKNOWN', '0'; is $result->ua, '0'; ok !$result->is_bot; ok !$result->is_ios; ok !$result->is_android; ok !$result->is_linux; ok !$result->is_windows; ok !$result->version; $result = $d->reparse('Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0'); is $result->name, 'Mozilla Firefox', 'reset'; is $result->ua, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0'; ok !$result->is_bot; ok !$result->is_ios; ok !$result->is_android; ok !$result->is_linux; ok $result->is_windows; is $result->version, '71.0'; local $ENV{HTTP_USER_AGENT} = 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'; $result = $d->reparse; is $result->name, 'Googlebot', 'reset'; ok !$result->is_windows; is $result->version, '2.1'; } done_testing;