Branch Coverage

blib/lib/HTTP/DetectUserAgent.pm
Criterion Covered Total %
branch 126 180 70.0


line true false branch
16 0 39 unless (defined $user_agent)
25 39 0 if (defined $user_agent)
36 14 25 if ($self->{'type'} eq 'Browser')
43 15 24 if $self->_check_crawler($ua)
44 1 23 if (index($ua, 'opera') != -1)
49 3 20 if ($block->{'applewebkit'}) { }
6 14 elsif ($block->{'_comment'} and index($block->{'_comment'}, 'msie') != -1) { }
1 13 elsif ($block->{'gecko'}) { }
57 3 5 unless $self->_check_mobile($ua, $block) or $self->_check_mobile_pc_viewer($ua, $block) or $self->_check_other_browsers($ua, $block) or $self->_check_webservice($ua, $block) or $self->_check_robot($ua, $block)
64 0 23 if (not $self->{'name'})
73 0 23 unless $ua
77 19 61 if ($1) { }
49 12 elsif ($2) { }
12 0 elsif ($4) { }
90 3 36 if (index($ua, 'googlebot') != -1) { }
0 36 elsif (index($ua, 'mediapartners-google') != -1) { }
0 36 elsif (index($ua, 'feedfetcher-google') != -1) { }
3 33 elsif (index($ua, 'yahoo') != -1) { }
1 32 elsif (index($ua, 'msnbot') != -1) { }
1 31 elsif (index($ua, 'twiceler') != -1) { }
1 30 elsif (index($ua, 'baiduspider') != -1) { }
4 26 elsif (index($ua, 'baidumobaider') != -1) { }
0 26 elsif (index($ua, 'yeti') != -1 and index($ua, 'naver') != -1) { }
0 26 elsif (index($ua, 'ichiro') != -1) { }
0 26 elsif (index($ua, 'moba-crawler') != -1) { }
0 26 elsif (index($ua, 'masagool') != -1) { }
0 26 elsif (index($ua, 'ia_archiver') != -1) { }
1 25 elsif (index($ua, 'tagoobot') != -1) { }
1 24 elsif (index($ua, 'sogou web spider') != -1) { }
1 23 elsif (index($ua, 'daumoa') != -1) { }
0 23 elsif (index($ua, 'spider') != -1 or index($ua, 'crawler') != -1) { }
92 2 1 if (index($ua, 'mobile') != -1) { }
105 1 2 if (index($ua, 'slurp') != -1) { }
0 2 elsif (index($ua, 'y!j-srd') != -1 or index($ua, 'y!j-mbs') != -1) { }
0 2 elsif (index($ua, 'y!j-bsc') != -1) { }
0 2 elsif (index($ua, 'y!j-') != -1) { }
1 1 elsif (index($ua, 'yahoofeedseeker') != -1) { }
176 15 24 if ($self->{'name'})
185 0 4 if ($block->{'libwww-perl'}) { }
1 3 elsif ($block->{'web::scraper'}) { }
0 3 elsif ($block->{'php'}) { }
0 3 elsif ($block->{'java'}) { }
0 3 elsif ($block->{'wget'}) { }
0 3 elsif ($block->{'curl'}) { }
0 3 elsif (index($ua, 'h2tconv') != -1) { }
0 3 elsif ($block->{'plagger'}) { }
210 1 3 if ($self->{'name'})
219 1 7 if (index($ua, 'hatena bookmark') != -1) { }
1 6 elsif (index($ua, 'hatena antenna') != -1) { }
1 5 elsif ($ua =~ /yahoo pipes ([\d.]+)/) { }
1 4 elsif ($block->{'pathtraq'}) { }
236 4 4 if ($self->{'name'})
249 1 0 if ($ua =~ m[opera(?:/|\s+)([\d.]+)]) { }
261 1 2 if ($block->{'chrome'}) { }
0 2 elsif ($block->{'omniweb'}) { }
0 2 elsif ($block->{'shiira'}) { }
2 0 elsif ($block->{'safari'}) { }
287 1 5 if ($block->{'sleipnir'}) { }
1 4 elsif ($block->{'_comment'} =~ /lunascape\s+([\d.]+)/) { }
0 4 elsif ($block->{'_comment'} =~ m[kiki/([\d.]+)]) { }
4 0 elsif ($block->{'_comment'} =~ /msie\s+([\d.]+)/) { }
310 0 1 if ($block->{'flock'}) { }
1 0 elsif ($block->{'firefox'} or $block->{'granparadiso'} or $block->{'bonecho'}) { }
0 0 elsif ($block->{'netscape'}) { }
0 0 elsif ($block->{'iceweasel'}) { }
0 0 elsif ($block->{'seamonkey'}) { }
0 0 elsif ($block->{'camino'}) { }
321 1 0 if ($self->{'version'} =~ /(^[^;,]+)/)
351 1 12 if ($block->{'docomo'}) { }
1 11 elsif ($block->{'up.browser'} and $ua =~ /^KDDI-(\S+)/) { }
3 8 elsif (my $softbank = $block->{'softbank'} || $block->{'vodafone'} || $block->{'j-phone'}) { }
353 1 0 if ($ua =~ m[DoCoMo/\d\.\d[/\s]+([A-Za-z0-9]+)]) { }
367 3 0 if ($ua =~ m[(?:SoftBank|Vodafone|J-PHONE)/[\d.]+/([A-Za-z0-9]+)])
373 5 8 if ($self->{'name'})
383 0 8 if ($ua =~ /jig browser(?: web)?(?:\D+([\d.]+))*/) { }
0 8 elsif ($ua =~ /ibisBrowser/) { }
0 13 elsif ($block->{'mozilla'} and $ua =~ /([A-Za-z0-9]+);\s*FOMA/) { }
396 0 8 if ($self->{'name'})
405 0 8 if ($block->{'lynx'}) { }
0 8 elsif ($block->{'w3m'}) { }
0 8 elsif ($ua =~ m[konqueror/([\d.]+)]) { }
418 0 8 if ($self->{'name'})
427 2 1 if ($ua =~ /playstation portable(?:\D+([\d.]+))*/) { }
1 0 elsif ($ua =~ /playstation 3(?:\D+([\d.]+))*/) { }
436 3 0 if ($self->{'name'})
444 0 14 unless $ua
445 1 13 if ($ua =~ /iphone/) { }
9 4 elsif ($ua =~ /win(?:9[58]|dows|nt)/) { }
1 3 elsif ($ua =~ /mac(?:intosh|_(?:powerpc|68000))/) { }
0 3 elsif ($ua =~ /x11/) { }