line |
true |
false |
branch |
44
|
1 |
46 |
unless $useragent |
45
|
0 |
46 |
if $useragent eq '-' |
55
|
28 |
45 |
if defined $browser->{'detail'} |
59
|
45 |
1 |
if (defined $browser->{'detail'}) |
65
|
7 |
39 |
if ($ua_string =~ /(iPhone|iPad|iPod).*?OS\s+(\d+_\d(_\d)?)/) { } |
|
2 |
37 |
elsif ($ua_string =~ m[\((BlackBerry|BB10).*Version/([0-9\.]+)]) { } |
|
1 |
36 |
elsif ($ua_string =~ m[Mozilla/5.0 \(.*?Windows.*?; rv:((\d+)\.(\d+))\) like Gecko]) { } |
|
1 |
35 |
elsif ($useragent =~ m[OPR/((\d+)\.(\d+)\.\d+\.\d+)]) { } |
|
4 |
31 |
elsif ($useragent =~ m[\bVersion/((\d+)\.(\d+)\S*) Safari/]) { } |
|
2 |
29 |
elsif ($useragent =~ m[Opera/.*Version/((\d+)\.(\d+)\S*)$]) { } |
69
|
7 |
0 |
if ($useragent =~ m[(Version|CriOS)/((\d+)(\.(\d+)[\.0-9]*)?)]) |
70
|
1 |
6 |
if ($1 eq 'CriOS') |
75
|
7 |
0 |
if defined $5 and $5 ne '' |
82
|
2 |
0 |
if ($version_string =~ /^([0-9]+)(\.([0-9]+).*)?/) |
85
|
2 |
0 |
if defined $3 and $3 ne '' |
112
|
0 |
71 |
if $br eq 'CriOS' |
113
|
66 |
5 |
if ($br ne 'Safari' or not $seenchrome) |
116
|
58 |
8 |
if ($ver =~ /^v?(\d+)\.(\d+)/) |
120
|
5 |
66 |
if lc $br eq 'chrome' |
121
|
1 |
70 |
if lc $br eq 'iron' |
122
|
1 |
69 |
if lc $br eq 'lynx' |
124
|
3 |
66 |
if lc $br eq 'opera' |
129
|
9 |
195 |
if /compatible/i |
131
|
176 |
19 |
unless (defined $browser->{'name'} and lc $browser->{'name'} eq 'webtv' || lc $browser->{'name'} eq 'opera') |
132
|
6 |
170 |
if (/^MSIE (.*)$/) |
140
|
0 |
195 |
if (m[^Edge/(([0-9]+)\.([0-9]+))]) |
147
|
1 |
194 |
if (/^AOL ([0-9].*)/) |
153
|
1 |
194 |
if (m[^Konqueror/([-0-9.a-z]+)]) |
159
|
0 |
0 |
if m[\bCamino/([0-9.]+)] and do {
$browser->{'name'} = 'Camino';
$browser->{'version'}{'v'} = $1;
($browser->{'version'}{'major'}, $browser->{'version'}{'minor'}) = split(/\./, $browser->{'version'}{'v'}, 2)
} |
165
|
1 |
194 |
if (m[^Opera Mini/([0-9.]+)]) |
171
|
24 |
171 |
if (/^Win/) |
173
|
1 |
23 |
/phone/i ? : |
174
|
18 |
6 |
if (/Windows NT\s*((\d+)(\.\d+)?)/ or /^WinNT((\d+)(\.\d+)?)/) { } |
|
1 |
5 |
elsif (/Windows (?:Phone )?(\d+(\.\d+)?)/) { } |
|
5 |
0 |
elsif (/Win(\w\w)/i) { } |
177
|
1 |
17 |
if ($version >= 10) { } |
|
1 |
16 |
elsif ($version >= 6.3 and $version < 7) { } |
|
1 |
15 |
elsif ($version >= 6.2) { } |
|
5 |
10 |
elsif ($version >= 6.1) { } |
|
0 |
10 |
elsif ($version >= 6.06) { } |
|
5 |
5 |
elsif ($version >= 6) { } |
|
5 |
0 |
elsif ($version >= 5.1) { } |
|
0 |
0 |
elsif ($version >= 5) { } |
205
|
6 |
189 |
if (/^Mac/) |
211
|
0 |
195 |
if (/^PPC$/) |
216
|
3 |
192 |
if (/Android\s([\.0-9]+)/ and lc $browser->{'name'} ne 'edge') { } |
|
8 |
184 |
elsif (/^Linux/) { } |
224
|
4 |
4 |
if ($lstr =~ s/(i386|mips|amd64|sparc64|ppc|i686|i586|armv51|x86|x86-64|x86_64|ppc64|x64|x64_64)\b//) |
227
|
0 |
8 |
if ($lstr =~ / (\d+\.\S+)/) |
232
|
1 |
194 |
if (/^(SunOS|Solaris)/i) |
235
|
1 |
0 |
if (/(sun4[a-z]|i86pc)/) |
238
|
1 |
0 |
if (/^SunOS\s*([0-9\.]+)/) |
243
|
21 |
174 |
if (/^($langRE)-/ or /^($langRE)$/) |
250
|
7 |
39 |
if (defined $browser->{'name'} and exists $name_map{$browser->{'name'}}) |
256
|
1 |
45 |
if ($browser->{'name'} eq 'Konqueror') |
266
|
23 |
23 |
if (int keys %langs_in > 0) |
282
|
169 |
77 |
if (exists $self->{$method}) { } |
|
77 |
0 |
elsif (exists $self->{'version'}{$method}) { } |