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   40 use strict;
  6         13  
  6         181  
3 6     6   30 use warnings;
  6         12  
  6         1990  
4              
5             sub try {
6 412     412 1 838 my ($class, $d) = @_;
7              
8 412 100       827 return if index($d->ua, 'Edg') == -1;
9              
10 6 100 100     18 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         16 my $h = {
13             name => 'Microsoft Edge',
14             is_windows => 1,
15             };
16              
17 4 100       13 if ($d->opt_version) {
18 2         5 my ($version) = ($d->ua =~ m! Edge?/([\d.]+)!);
19 2 50       10 $h->{version} = $version if $version;
20             }
21              
22 4         19 return $h;
23             }
24             elsif ( index($d->ua, 'EdgiOS/') > -1 && index($d->ua, 'Mozilla/') > -1 ) {
25 2         8 my $h = {
26             name => 'Microsoft Edge',
27             is_ios => 1,
28             };
29              
30 2 100       7 if ($d->opt_version) {
31 1         6 my ($version) = ($d->ua =~ m! EdgiOS/([\d.]+)!);
32 1 50       12 $h->{version} = $version if $version;
33             }
34              
35 2         9 return $h;
36             }
37             }
38              
39             1;
40              
41             __END__