File Coverage

blib/lib/Duadua/Parser/Browser/MicrosoftEdge.pm
Criterion Covered Total %
statement 19 19 100.0
branch 11 14 78.5
condition 8 12 66.6
subroutine 3 3 100.0
pod 1 1 100.0
total 42 49 85.7


line stmt bran cond sub pod time code
1             package Duadua::Parser::Browser::MicrosoftEdge;
2 6     6   763 use strict;
  6         13  
  6         539  
3 6     6   27 use warnings;
  6         10  
  6         1757  
4              
5             sub try {
6 411     411 1 928 my ($class, $d) = @_;
7              
8 411 100       949 return if index($d->ua, 'Edg') == -1;
9              
10 6 100 100     16 if ( ( index($d->ua, 'Edge/') > -1 || index($d->ua, 'Edg/') > -1 )
    50 66        
      66        
      33        
11             && index($d->ua, 'Windows') > -1 && index($d->ua, 'Mozilla/') > -1 ) {
12 4         14 my $h = {
13             name => 'Microsoft Edge',
14             is_windows => 1,
15             };
16              
17 4 100       8 if ($d->opt_version) {
18 2         6 my ($version) = ($d->ua =~ m! Edge?/([\d.]+)!);
19 2 50       9 $h->{version} = $version if $version;
20             }
21              
22 4         15 return $h;
23             }
24             elsif ( index($d->ua, 'EdgiOS/') > -1 && index($d->ua, 'Mozilla/') > -1 ) {
25 2         6 my $h = {
26             name => 'Microsoft Edge',
27             is_ios => 1,
28             };
29              
30 2 100       5 if ($d->opt_version) {
31 1         3 my ($version) = ($d->ua =~ m! EdgiOS/([\d.]+)!);
32 1 50       6 $h->{version} = $version if $version;
33             }
34              
35 2         9 return $h;
36             }
37             }
38              
39             1;
40              
41             __END__