File Coverage

blib/lib/Duadua/Parser/Browser/MicrosoftInternetExplorer.pm
Criterion Covered Total %
statement 30 30 100.0
branch 17 22 77.2
condition 9 15 60.0
subroutine 4 4 100.0
pod 1 1 100.0
total 61 72 84.7


line stmt bran cond sub pod time code
1             package Duadua::Parser::Browser::MicrosoftInternetExplorer;
2 6     6   42 use strict;
  6         14  
  6         174  
3 6     6   31 use warnings;
  6         11  
  6         150  
4 6     6   39 use Duadua::Util qw//;
  6         14  
  6         2664  
5              
6             sub try {
7 399     399 1 947 my ($class, $d) = @_;
8              
9 399 100       851 return if index($d->ua, 'http') > -1;
10 236 100       562 return if index($d->ua, ' BingPreview') > -1;
11              
12 232 50 66     514 if ( index($d->ua, 'MSIE ') > -1 && index($d->ua, 'Mozilla/') > -1 && index($d->ua, 'Windows ') > -1 ) {
      66        
13 16         58 my $h = {
14             name => 'Internet Explorer',
15             is_windows => 1,
16             };
17              
18 16 100       37 if ($d->opt_version) {
19 8         21 my ($version) = ($d->ua =~ m! MSIE ([\d.]+); !);
20 8 50       37 $h->{version} = $version if $version;
21             }
22              
23 16         68 return $h;
24             }
25              
26 216 50 66     491 if ( index($d->ua, 'Trident/') > -1 && index($d->ua, ' rv:1') > -1 && index($d->ua, 'Mozilla/') > -1 && index($d->ua, 'Windows ') > -1 ) {
      66        
      33        
27 14         66 my $h = {
28             name => 'Internet Explorer',
29             is_windows => 1,
30             };
31              
32 14 100       38 if ($d->opt_version) {
33 7         17 my ($version) = ($d->ua =~ m! rv:([\d.]+)!);
34 7 50       29 $h->{version} = $version if $version;
35             }
36              
37 14         71 return $h;
38             }
39              
40 202 100       450 if ( index($d->ua, 'Windows-RSS-Platform/') > -1 ) {
41 2         8 my $h = {
42             name => 'Windows RSS Platform',
43             };
44              
45 2 100       8 if ($d->opt_version) {
46 1         6 my ($version) = ($d->ua =~ m!^Windows-RSS-Platform/([\d.]+)!);
47 1 50       7 $h->{version} = $version if $version;
48             }
49              
50 2         16 return Duadua::Util->set_os($d, $h);
51             }
52             }
53              
54             1;
55              
56             __END__