File Coverage

blib/lib/Duadua/Parser/Browser/MozillaFirefox.pm
Criterion Covered Total %
statement 23 23 100.0
branch 12 14 85.7
condition 6 6 100.0
subroutine 4 4 100.0
pod 1 1 100.0
total 46 48 95.8


line stmt bran cond sub pod time code
1             package Duadua::Parser::Browser::MozillaFirefox;
2 6     6   41 use strict;
  6         13  
  6         172  
3 6     6   35 use warnings;
  6         13  
  6         132  
4 6     6   30 use Duadua::Util;
  6         12  
  6         1823  
5              
6             sub try {
7 311     311 1 623 my ($class, $d) = @_;
8              
9 311 100       661 return if index($d->ua, ' PaleMoon/') > -1;
10              
11 303 100 100     656 if ( index($d->ua, 'Mozilla/5.0 (') > -1 && index($d->ua, 'Firefox/') > -1 ) {
12 3         10 my $h = {
13             name => 'Mozilla Firefox',
14             };
15              
16 3 100       11 if ($d->opt_version) {
17 2         11 my ($version) = ($d->ua =~ m! Firefox/([\d.]+)!);
18 2 50       12 $h->{version} = $version if $version;
19             }
20              
21 3         14 return Duadua::Util->set_os($d, $h);
22             }
23              
24 300 100 100     695 if ( index($d->ua, 'Mozilla/5.0 (') > -1 && index($d->ua, 'FxiOS/') > -1 ) {
25 2         10 my $h = {
26             name => 'Mozilla Firefox iOS',
27             is_ios => 1,
28             };
29              
30 2 100       8 if ($d->opt_version) {
31 1         9 my ($version) = ($d->ua =~ m! FxiOS/([\d.]+)!);
32 1 50       8 $h->{version} = $version if $version;
33             }
34              
35 2         13 return $h;
36             }
37             }
38              
39             1;
40              
41             __END__