Skip to content

Commit 9608721

Browse files
committed
Hide macOS version, if it is a known fixed number
1 parent d8c8f9e commit 9608721

File tree

5 files changed

+45
-2
lines changed

5 files changed

+45
-2
lines changed

src/Analyser/Corrections.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,37 @@ private function &applyCorrections()
4141
$this->hideFamilyIfEqualToBrowser();
4242
}
4343

44+
if (isset($this->data->browser->name) && isset($this->data->os->name) && isset($this->data->os->version)) {
45+
$this->hideOsVersionIfFixed();
46+
}
47+
4448
return $this;
4549
}
4650

4751

52+
private function hideOsVersionIfFixed()
53+
{
54+
if ($this->data->os->name == 'OS X') {
55+
$name = $this->data->browser->name;
56+
57+
if (isset($this->data->browser->family)) {
58+
$name = $this->data->browser->family->name;
59+
}
60+
61+
if ($name == 'Chrome' && $this->data->os->version->value == "10.15.7") {
62+
$this->data->os->version = null;
63+
}
64+
65+
if ($name == 'Safari' && $this->data->os->version->value == "10.15.7") {
66+
$this->data->os->version = null;
67+
}
68+
69+
if ($name == 'Firefox' && $this->data->os->version->value == "10.15") {
70+
$this->data->os->version = null;
71+
}
72+
}
73+
}
74+
4875
private function hideFamilyIfEqualToBrowser()
4976
{
5077
if ($this->data->browser->name == $this->data->browser->family->name) {

tests/data/desktop/browser-chrome.yaml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,5 +68,9 @@
6868
readable: 'Chrome 87 on macOS Big Sur 11.0'
6969
-
7070
headers: 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36'
71-
readable: 'Chrome 100 on macOS Catalina 10.15'
72-
result: { browser: { name: Chrome, version: '100', type: browser }, engine: { name: Blink }, os: { name: 'OS X', alias: macOS, version: { value: '10.15', nickname: Catalina } }, device: { type: desktop, manufacturer: Apple, model: Macintosh } }
71+
readable: 'Chrome 100 on macOS'
72+
result: { browser: { name: Chrome, version: '100', type: browser }, engine: { name: Blink }, os: { name: 'OS X', alias: macOS }, device: { type: desktop, manufacturer: Apple, model: Macintosh } }
73+
-
74+
headers: 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'
75+
readable: 'Chrome 123 on macOS'
76+
result: { browser: { name: Chrome, version: '123', type: browser }, engine: { name: Blink }, os: { name: 'OS X', alias: macOS }, device: { type: desktop, manufacturer: Apple, model: Macintosh } }

tests/data/desktop/browser-edge.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,7 @@
3838
headers: 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3782.0 Safari/537.36 Edg/76.0.152.0'
3939
readable: 'Edge 76 on macOS Mojave 10.14'
4040
result: { browser: { name: Edge, family: { name: Chrome, version: 76 }, version: '76', type: browser }, engine: { name: Blink }, os: { name: 'OS X', alias: macOS, version: { value: '10.14', nickname: Mojave } }, device: { type: desktop, manufacturer: Apple, model: Macintosh } }
41+
-
42+
headers: 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0'
43+
readable: 'Edge 123 on macOS'
44+
result: { browser: { name: Edge, family: { name: Chrome, version: 123 }, version: '123', type: browser }, engine: { name: Blink }, os: { name: 'OS X', alias: macOS }, device: { type: desktop, manufacturer: Apple, model: Macintosh } }

tests/data/desktop/browser-firefox.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,3 +254,7 @@
254254
headers: 'User-Agent: Mozilla/5.0 (X11; U; Darwin i386; en-US; rv:1.9.1.4) Gecko/20100311 Shiretoko/3.5.5'
255255
readable: 'Firefox Shiretoko 3.5.5 on Darwin'
256256
result: { browser: { name: Firefox, version: 3.5.5, type: browser }, engine: { name: Gecko, version: 1.9.1 }, os: { name: Darwin }, device: { type: desktop } }
257+
-
258+
headers: 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0'
259+
readable: 'Firefox 123.0 on macOS'
260+
result: { browser: { name: Firefox, version: '123.0', type: browser }, engine: { name: Gecko, version: '123.0' }, os: { name: 'OS X', alias: macOS }, device: { type: desktop, manufacturer: Apple, model: Macintosh } }

tests/data/desktop/browser-safari.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,3 +234,7 @@
234234
headers: 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15'
235235
readable: 'Safari 14.0.1 on macOS Catalina 10.15'
236236
result: { browser: { name: Safari, version: 14.0.1, type: browser }, engine: { name: Webkit, version: 605.1.15 }, os: { name: 'OS X', alias: macOS, version: { value: '10.15', nickname: Catalina } }, device: { type: desktop, manufacturer: Apple, model: Macintosh } }
237+
-
238+
headers: 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15'
239+
readable: 'Safari 17.5 on macOS'
240+
result: { browser: { name: Safari, version: '17.5', type: browser }, engine: { name: Webkit, version: 605.1.15 }, os: { name: 'OS X', alias: macOS }, device: { type: desktop, manufacturer: Apple, model: Macintosh } }

0 commit comments

Comments
 (0)