line |
true |
false |
branch |
45
|
1 |
48 |
unless $useragent |
46
|
0 |
48 |
if $useragent eq '-' |
56
|
29 |
47 |
if defined $browser->{'detail'} |
60
|
47 |
1 |
if (defined $browser->{'detail'}) |
66
|
7 |
41 |
if ($ua_string =~ /(iPhone|iPad|iPod).*?OS\s+(\d+_\d(_\d)?)/) { } |
|
2 |
39 |
elsif ($ua_string =~ m[\((BlackBerry|BB10).*Version/([0-9\.]+)]) { } |
|
1 |
38 |
elsif ($ua_string =~ m[Mozilla/5.0 \(.*?Windows.*?; rv:((\d+)\.(\d+))\) like Gecko]) { } |
|
1 |
37 |
elsif ($useragent =~ m[OPR/((\d+)\.(\d+)\.\d+\.\d+)]) { } |
|
4 |
33 |
elsif ($useragent =~ m[\bVersion/((\d+)\.(\d+)\S*) Safari/]) { } |
|
2 |
31 |
elsif ($useragent =~ m[Opera/.*Version/((\d+)\.(\d+)\S*)$]) { } |
70
|
7 |
0 |
if ($useragent =~ m[(Version|CriOS)/((\d+)(\.(\d+)[\.0-9]*)?)]) |
71
|
1 |
6 |
if ($1 eq 'CriOS') |
76
|
7 |
0 |
if defined $5 and $5 ne '' |
83
|
2 |
0 |
if ($version_string =~ /^([0-9]+)(\.([0-9]+).*)?/) |
86
|
2 |
0 |
if defined $3 and $3 ne '' |
113
|
0 |
79 |
if $br eq 'CriOS' |
114
|
73 |
6 |
if ($br ne 'Safari' or not $seenchrome) |
117
|
64 |
9 |
if ($ver =~ /^v?(\d+)\.(\d+)/) |
121
|
6 |
73 |
if lc $br eq 'chrome' |
122
|
1 |
78 |
if lc $br eq 'iron' |
123
|
1 |
77 |
if lc $br eq 'lynx' |
125
|
3 |
74 |
if lc $br eq 'opera' |
130
|
9 |
202 |
if /compatible/i |
132
|
183 |
19 |
unless (defined $browser->{'name'} and lc $browser->{'name'} eq 'webtv' || lc $browser->{'name'} eq 'opera') |
133
|
6 |
177 |
if (/^MSIE (.*)$/) |
141
|
0 |
202 |
if (m[^Edge/(([0-9]+)\.([0-9]+))]) |
148
|
1 |
201 |
if (/^AOL ([0-9].*)/) |
154
|
1 |
201 |
if (m[^Konqueror/([-0-9.a-z]+)]) |
160
|
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)
} |
166
|
1 |
201 |
if (m[^Opera Mini/([0-9.]+)]) |
172
|
26 |
176 |
if (/^Win/) |
174
|
1 |
25 |
/phone/i ? : |
175
|
19 |
7 |
if (/Windows NT\s*((\d+)(\.\d+)?)/ or /^WinNT((\d+)(\.\d+)?)/) { } |
|
1 |
6 |
elsif (/Windows (?:Phone )?(\d+(\.\d+)?)/) { } |
|
6 |
0 |
elsif (/Win(\w\w)/i) { } |
178
|
2 |
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) { } |
200
|
1 |
0 |
unless $browser->{'osvers'} |
202
|
5 |
1 |
unless $browser->{'osvers'} |
206
|
7 |
195 |
if (/^Mac/) |
212
|
0 |
202 |
if (/^PPC$/) |
217
|
3 |
199 |
if (/Android\s([\.0-9]+)/ and lc $browser->{'name'} ne 'edge') { } |
|
8 |
191 |
elsif (/^Linux/) { } |
225
|
4 |
4 |
if ($lstr =~ s/(i386|mips|amd64|sparc64|ppc|i686|i586|armv51|x86|x86-64|x86_64|ppc64|x64|x64_64)\b//) |
228
|
0 |
8 |
if ($lstr =~ / (\d+\.\S+)/) |
233
|
1 |
201 |
if (/^(SunOS|Solaris)/i) |
236
|
1 |
0 |
if (/(sun4[a-z]|i86pc)/) |
239
|
1 |
0 |
if (/^SunOS\s*([0-9\.]+)/) |
244
|
21 |
181 |
if (/^($langRE)-/ or /^($langRE)$/) |
251
|
8 |
40 |
if (defined $browser->{'name'} and exists $name_map{$browser->{'name'}}) |
257
|
1 |
47 |
if ($browser->{'name'} eq 'Konqueror') |
267
|
23 |
25 |
if (int keys %langs_in > 0) |
283
|
176 |
81 |
if (exists $self->{$method}) { } |
|
81 |
0 |
elsif (exists $self->{'version'}{$method}) { } |