From bb8f94efcdd07521495f1578639e5935cd47ed82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehmet=20Akif=20=20Y=C3=BCcel?= Date: Fri, 17 Nov 2023 21:47:16 +0300 Subject: [PATCH] feat: add Pale Moon browser support (#495) --- src/constants.js | 2 ++ src/parser-browsers.js | 15 ++++++++++++++ test/acceptance/useragentstrings.yml | 29 ++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+) diff --git a/src/constants.js b/src/constants.js index f335032..db9fda3 100644 --- a/src/constants.js +++ b/src/constants.js @@ -22,6 +22,7 @@ export const BROWSER_ALIASES_MAP = { 'NAVER Whale Browser': 'naver', Opera: 'opera', 'Opera Coast': 'opera_coast', + 'Pale Moon': 'pale_moon', PhantomJS: 'phantomjs', Puffin: 'puffin', QupZilla: 'qupzilla', @@ -64,6 +65,7 @@ export const BROWSER_MAP = { naver: 'NAVER Whale Browser', opera: 'Opera', opera_coast: 'Opera Coast', + pale_moon: 'Pale Moon', phantomjs: 'PhantomJS', puffin: 'Puffin', qupzilla: 'QupZilla', diff --git a/src/parser-browsers.js b/src/parser-browsers.js index ee7840c..997d724 100644 --- a/src/parser-browsers.js +++ b/src/parser-browsers.js @@ -108,6 +108,21 @@ const browsersList = [ return browser; }, }, + { + test: [/PaleMoon/i], + describe(ua) { + const browser = { + name: 'Pale Moon', + }; + const version = Utils.getFirstMatch(commonVersionIdentifier, ua) || Utils.getFirstMatch(/(?:PaleMoon)[\s/](\d+(?:\.\d+)+)/i, ua); + + if (version) { + browser.version = version; + } + + return browser; + }, + }, { test: [/MZBrowser/i], describe(ua) { diff --git a/test/acceptance/useragentstrings.yml b/test/acceptance/useragentstrings.yml index 6c9fb1a..f5d5fdc 100644 --- a/test/acceptance/useragentstrings.yml +++ b/test/acceptance/useragentstrings.yml @@ -3054,3 +3054,32 @@ type: "mobile" engine: name: "Blink" + Pale Moon: + - + ua: "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Goanna/4.8 Firefox/68.0 PaleMoon/29.1.1" + spec: + browser: + name: "Pale Moon" + version: "29.1.1" + os: + name: "Windows" + version: "NT 10.0" + versionName: "10" + platform: + type: "desktop" + engine: + name: "Gecko" + version: "20100101" + - + ua: "Mozilla/5.0 (X11; Linux i686; rv:45.9) Gecko/20100101 Goanna/3.2 Firefox/45.9 PaleMoon/27.2.0" + spec: + browser: + name: "Pale Moon" + version: "27.2.0" + os: + name: "Linux" + platform: + type: "desktop" + engine: + name: "Gecko" + version: "20100101"