From bcf642a1891032de16a5ab976fd352753dd7f9a0 Mon Sep 17 00:00:00 2001 From: Niels Leenheer Date: Mon, 10 May 2021 12:18:11 +0200 Subject: [PATCH] Fix macOS Big Sur detection for 11.1, 11.2, 11.3 and later --- src/Analyser/Derive.php | 2 +- tests/data/desktop/platform-electron.yaml | 24 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/Analyser/Derive.php b/src/Analyser/Derive.php index 241a7b6cf..eec2312e3 100644 --- a/src/Analyser/Derive.php +++ b/src/Analyser/Derive.php @@ -485,7 +485,7 @@ private function deriveBasedOnOperatingSystem() $this->data->os->version->nickname = 'Catalina'; } - if ($this->data->os->version->is('11.0')) { + if ($this->data->os->version->is('11')) { $this->data->os->version->nickname = 'Big Sur'; } } diff --git a/tests/data/desktop/platform-electron.yaml b/tests/data/desktop/platform-electron.yaml index 661519d84..aad78ee49 100644 --- a/tests/data/desktop/platform-electron.yaml +++ b/tests/data/desktop/platform-electron.yaml @@ -14,3 +14,27 @@ headers: 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) AtomShellDefaultApp/0.1.0 Chrome/37.0.2062.102 AtomShell/0.17.2 Safari/537.36' result: { browser: { using: { name: Electron, version: 0.17.2 }, family: { name: Chrome, version: 37 }, type: browser }, engine: { name: Blink }, os: { name: Linux }, device: { type: desktop } } readable: 'Electron 0.17.2 on Linux' +- + headers: 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.40 Electron/11.0.0-beta.20 Safari/537.36' + readable: 'Electron 11.0.0 on macOS Big Sur 11.0' + result: { browser: { using: { name: Electron, version: 11.0.0 }, family: { name: Chrome, version: 87 }, type: browser }, engine: { name: Blink }, os: { name: 'OS X', alias: macOS, version: { value: '11.0', nickname: 'Big Sur' } }, device: { type: desktop, manufacturer: Apple, model: Macintosh } } +- + headers: 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Electron/11.0.3 Safari/537.36' + readable: 'Electron 11.0.3 on macOS Big Sur 11.1' + result: { browser: { using: { name: Electron, version: 11.0.3 }, family: { name: Chrome, version: 87 }, type: browser }, engine: { name: Blink }, os: { name: 'OS X', alias: macOS, version: { value: '11.1', nickname: 'Big Sur' } }, device: { type: desktop, manufacturer: Apple, model: Macintosh } } +- + headers: 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Electron/11.0.3 Safari/537.36' + readable: 'Electron 11.0.3 on macOS Big Sur 11.2' + result: { browser: { using: { name: Electron, version: 11.0.3 }, family: { name: Chrome, version: 87 }, type: browser }, engine: { name: Blink }, os: { name: 'OS X', alias: macOS, version: { value: '11.2', nickname: 'Big Sur' } }, device: { type: desktop, manufacturer: Apple, model: Macintosh } } +- + headers: 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Electron/11.3.0 Safari/537.36' + readable: 'Electron 11.3.0 on macOS Big Sur 11.2' + result: { browser: { using: { name: Electron, version: 11.3.0 }, family: { name: Chrome, version: 87 }, type: browser }, engine: { name: Blink }, os: { name: 'OS X', alias: macOS, version: { value: '11.2', nickname: 'Big Sur' } }, device: { type: desktop, manufacturer: Apple, model: Macintosh } } +- + headers: 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Electron/12.0.5 Safari/537.36' + readable: 'Electron 12.0.5 on macOS Big Sur 11.2' + result: { browser: { using: { name: Electron, version: 12.0.5 }, family: { name: Chrome, version: 89 }, type: browser }, engine: { name: Blink }, os: { name: 'OS X', alias: macOS, version: { value: '11.2', nickname: 'Big Sur' } }, device: { type: desktop, manufacturer: Apple, model: Macintosh } } +- + headers: 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_3_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Electron/12.0.6 Safari/537.36' + readable: 'Electron 12.0.6 on macOS Big Sur 11.3' + result: { browser: { using: { name: Electron, version: 12.0.6 }, family: { name: Chrome, version: 89 }, type: browser }, engine: { name: Blink }, os: { name: 'OS X', alias: macOS, version: { value: '11.3', nickname: 'Big Sur' } }, device: { type: desktop, manufacturer: Apple, model: Macintosh } }