Branch Coverage

blib/lib/Woothee/Crawler.pm
Criterion Covered Total %
branch 84 92 91.3


line true false branch
15 1374 72 if index($ua, 'Google') < 0
17 18 54 if (index($ua, 'compatible; Googlebot') > -1)
18 12 6 if (index($ua, 'compatible; Googlebot-Mobile') > -1) { }
27 6 48 if (index($ua, 'Googlebot-Image/') > -1)
31 12 36 if (index($ua, 'Mediapartners-Google') > -1)
32 12 0 if (index($ua, 'compatible; Mediapartners-Google') > -1 or $ua eq 'Mediapartners-Google')
37 6 30 if (index($ua, 'Feedfetcher-Google;') > -1)
41 6 24 if (index($ua, 'AppEngine-Google') > -1)
45 6 18 if (index($ua, 'Google Web Preview') > -1)
56 66 1326 if (index($ua, 'Yahoo') > -1 or index($ua, 'help.yahoo.co.jp/help/jp/') > -1 or index($ua, 'listing.yahoo.co.jp/support/faq/') > -1) { }
30 1296 elsif (index($ua, 'msnbot') > -1) { }
6 1290 elsif (index($ua, 'bingbot') > -1) { }
6 1284 elsif (index($ua, 'BingPreview') > -1) { }
18 1266 elsif (index($ua, 'Baidu') > -1) { }
18 1248 elsif (index($ua, 'Yeti') > -1) { }
6 1242 elsif (index($ua, 'FeedBurner/') > -1) { }
6 1236 elsif (index($ua, 'facebookexternalhit') > -1) { }
6 1230 elsif (index($ua, 'Twitterbot/') > -1) { }
12 1218 elsif (index($ua, 'ichiro') > -1) { }
6 1212 elsif (index($ua, 'gooblogsearch/') > -1) { }
6 1206 elsif (index($ua, 'Apple-PubSub') > -1) { }
12 1194 elsif (index($ua, '(www.radian6.com/crawler)') > -1) { }
6 1188 elsif (index($ua, 'Genieo/') > -1) { }
6 1182 elsif (index($ua, 'labs.topsy.com/butterfly/') > -1) { }
12 1170 elsif (index($ua, 'rogerbot/1.0 (http://www.seomoz.org/dp/rogerbot') > -1) { }
6 1164 elsif (index($ua, 'compatible; AhrefsBot/') > -1) { }
12 1152 elsif (index($ua, 'livedoor FeedFetcher') > -1 or index($ua, 'Fastladder FeedFetcher') > -1) { }
18 1134 elsif (index($ua, 'Hatena ') > -1) { }
18 1116 elsif (index($ua, 'mixi-check') > -1 or index($ua, 'mixi-crawler') > -1 or index($ua, 'mixi-news-crawler') > -1) { }
6 1110 elsif (index($ua, 'Indy Library') > -1) { }
6 1104 elsif (index($ua, 'trendictionbot') > -1) { }
59 12 54 if (index($ua, 'compatible; Yahoo! Slurp') > -1) { }
12 42 elsif (index($ua, 'YahooFeedSeekerJp') > -1 or index($ua, 'YahooFeedSeekerBetaJp') > -1) { }
18 24 elsif (index($ua, 'crawler (http://listing.yahoo.co.jp/support/faq/') > -1 or index($ua, 'crawler (http://help.yahoo.co.jp/help/jp/') > -1) { }
12 12 elsif (index($ua, 'Y!J-BRZ/YATSHA crawler') > -1 or index($ua, 'Y!J-BRY/YATSH crawler') > -1) { }
6 6 elsif (index($ua, 'Yahoo Pipes') > -1) { }
86 6 0 if (index($ua, 'compatible; bingbot') > -1)
96 12 0 if (index($ua, 'compatible; Baiduspider') > -1 or index($ua, 'Baiduspider+') > -1 or index($ua, 'Baiduspider-image+') > -1)
102 12 0 if (index($ua, 'http://help.naver.com/robots') > -1 or index($ua, 'http://help.naver.com/support/robots.html') > -1 or index($ua, 'http://naver.me/bot') > -1)
123 12 0 if (index($ua, 'http://help.goo.ne.jp/door/crawler.html') > -1 or index($ua, 'compatible; ichiro/mobile goo;') > -1)
161 12 0 if (index($ua, 'Hatena Antenna') > -1 or index($ua, 'Hatena Pagetitle Agent') > -1 or index($ua, 'Hatena Diary RSS') > -1)
171 6 0 if (index($ua, 'compatible; Indy Library') > -1)
188 48 21 if ($ua =~ m[(bot|crawler|spider)(?:[-_ ./;@()]|$)]io)
192 12 9 if ($ua =~ m[^(?:Rome Client |UnwindFetchor/|ia_archiver |Summify |PostRank/)]o or index($ua, 'ASP-Ranker Feed Crawler') > -1)
197 6 3 if ($ua =~ /(feed|web) ?parser/io)
201 3 0 if ($ua =~ /watch ?dog/io)