File Coverage

blib/lib/Duadua/Parser/Browser/GoogleChrome.pm
Criterion Covered Total %
statement 27 27 100.0
branch 19 22 86.3
condition 15 18 83.3
subroutine 4 4 100.0
pod 1 1 100.0
total 66 72 91.6


line stmt bran cond sub pod time code
1             package Duadua::Parser::Browser::GoogleChrome;
2 11     11   115 use strict;
  11         22  
  11         517  
3 11     11   63 use warnings;
  11         42  
  11         614  
4 11     11   58 use Duadua::Util;
  11         23  
  11         5453  
5              
6             sub try {
7 438     438 1 1045 my ($class, $d) = @_;
8              
9 438 100       1028 return if $d->_contain('http');
10 261 100       946 return if $d->_contain('oogle');
11 228 100 100     766 return if $d->_contain(' OPR/') || $d->_contain(' Vivaldi/');
12 224 100       620 return if $d->_contain('Browser/');
13 204 100       593 return if $d->_contain('QtWebEngine');
14              
15 202 50 66     622 if ( $d->_contain('Chrome/') && $d->_contain('AppleWebKit/') && $d->_contain('Safari/') ) {
      66        
16 4         13 my $h = {
17             name => 'Google Chrome',
18             };
19              
20 4 100       13 if ($d->opt_version) {
21 2         7 my ($version) = ($d->ua =~ m!Chrome/([\d.]+)!);
22 2 50       11 $h->{version} = $version if $version;
23             }
24              
25 4         34 return Duadua::Util->set_os($d, $h);
26             }
27              
28 198 100 100     759 if ( $d->_contain_mozilla && $d->_contain('AppleWebKit/')
      66        
      100        
29             && ($d->_contain('CrMo/') || $d->_contain('CriOS/')) ) {
30 2         9 my $h = {
31             name => 'Google Chrome',
32             };
33              
34 2 100       7 if ($d->opt_version) {
35 1         6 my ($version) = ($d->ua =~ m!Cr(?:Mo|iOS)/([\d.]+)!);
36 1 50       6 $h->{version} = $version if $version;
37             }
38              
39 2         25 return Duadua::Util->set_os($d, $h);
40             }
41             }
42              
43             1;
44              
45             __END__