File Coverage

blib/lib/Duadua/Parser/Browser/Opera.pm
Criterion Covered Total %
statement 28 28 100.0
branch 15 18 83.3
condition 4 6 66.6
subroutine 4 4 100.0
pod 1 1 100.0
total 52 57 91.2


line stmt bran cond sub pod time code
1             package Duadua::Parser::Browser::Opera;
2 11     11   1062 use strict;
  11         20  
  11         471  
3 11     11   49 use warnings;
  11         18  
  11         489  
4 11     11   77 use Duadua::Util;
  11         19  
  11         5225  
5              
6             sub try {
7 345     345 1 747 my ($class, $d) = @_;
8              
9 345 100       737 if ( $d->_contain('Opera/') ) {
10 2         5 my $h = {
11             name => 'Opera',
12             };
13              
14 2 100       5 if ($d->opt_version) {
15 1         3 my ($version) = ($d->ua =~ m!a/([\d.]+) \(!);
16 1 50       5 $h->{version} = $version if $version;
17             }
18              
19 2         8 return Duadua::Util->set_os($d, $h);
20             }
21              
22 343 100 66     820 if ( $d->_contain(' OPR/') && $d->_contain_mozilla ) {
23 2         7 my $h = {
24             name => 'Opera',
25             };
26              
27 2 100       6 if ($d->opt_version) {
28 1         4 my ($version) = ($d->ua =~ m! OPR/([\d.]+)!);
29 1 50       8 $h->{version} = $version if $version;
30             }
31              
32 2         6 return Duadua::Util->set_os($d, $h);
33             }
34              
35 341 100 66     776 if ( $d->_contain(' OPT/') && $d->_contain_mozilla ) {
36 2         6 my $h = {
37             name => 'Opera Touch',
38             };
39              
40 2 100       4 if ($d->opt_version) {
41 1         3 my ($version) = ($d->ua =~ m! OPT/([\d.]+)!);
42 1 50       5 $h->{version} = $version if $version;
43             }
44              
45 2         8 return Duadua::Util->set_os($d, $h);
46             }
47             }
48              
49             1;
50              
51             __END__