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/) { }