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   1090 use strict;
  6         13  
  6         151  
3 6     6   26 use warnings;
  6         13  
  6         127  
4 6     6   26 use Duadua::Util;
  6         11  
  6         1624  
5              
6             sub try {
7 311     311 1 635 my ($class, $d) = @_;
8              
9 311 100       814 return if index($d->ua, ' PaleMoon/') > -1;
10              
11 303 100 100     665 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       10 if ($d->opt_version) {
17 2         5 my ($version) = ($d->ua =~ m! Firefox/([\d.]+)!);
18 2 50       10 $h->{version} = $version if $version;
19             }
20              
21 3         16 return Duadua::Util->set_os($d, $h);
22             }
23              
24 300 100 100     698 if ( index($d->ua, 'Mozilla/5.0 (') > -1 && index($d->ua, 'FxiOS/') > -1 ) {
25 2         8 my $h = {
26             name => 'Mozilla Firefox iOS',
27             is_ios => 1,
28             };
29              
30 2 100       9 if ($d->opt_version) {
31 1         4 my ($version) = ($d->ua =~ m! FxiOS/([\d.]+)!);
32 1 50       6 $h->{version} = $version if $version;
33             }
34              
35 2         8 return $h;
36             }
37             }
38              
39             1;
40              
41             __END__