From 778fdb60045b08d0c7aec94228a69632370ffdab Mon Sep 17 00:00:00 2001 From: Denis Demchenko Date: Wed, 20 Dec 2017 22:34:29 +0200 Subject: [PATCH] Add Microsoft Edge cases --- src/parser-browsers.js | 8 +++++-- test/acceptance/useragentstrings.yml | 34 ++++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/parser-browsers.js b/src/parser-browsers.js index bc2ff1f..023f57a 100644 --- a/src/parser-browsers.js +++ b/src/parser-browsers.js @@ -31,6 +31,7 @@ import { const commonVersionIdentifier = /version\/(\d+(\.?_?\d+)+)/i; const browsersList = [ + /* Opera < 13.0 */ { test: [/opera/i], describe(ua) { @@ -46,6 +47,8 @@ const browsersList = [ return browser; } }, + + /* Opera > 13.0 */ { test: [/opr|opios/i], describe(ua) { @@ -212,12 +215,13 @@ const browsersList = [ } }, { - test: [/chrome.+? edge/i], + test: [/edg([ea]|ios)/i], describe(ua) { const browser = { name: 'Microsoft Edge' }; - const version = getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i, ua); + + const version = getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i, ua); if (version) { browser.version = version; diff --git a/test/acceptance/useragentstrings.yml b/test/acceptance/useragentstrings.yml index b44dc5d..66b8c81 100644 --- a/test/acceptance/useragentstrings.yml +++ b/test/acceptance/useragentstrings.yml @@ -1258,8 +1258,38 @@ engine: name: "Trident" version: "7.0" - Microsoft Edge: - - + Microsoft Edge: + - + ua: 'Mozilla/5.0 (Linux; Android 8.0; Pixel XL Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.0 Mobile Safari/537.36 EdgA/41.1.35.1' + spec: + browser: + name: "Microsoft Edge" + version: "41.1.35.1" + os: + name: "Android" + version: "8.0" + platform: + type: "mobile" + engine: + name: "EdgeHTML" + version: "" + - + ua: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Mobile/14F89 Safari/603.2.4 EdgiOS/41.1.35.1' + spec: + browser: + name: "Microsoft Edge" + version: "41.1.35.1" + os: + name: "iOS" + version: "10.3.2" + platform: + type: "mobile" + model: "iPhone" + vendor: "Apple" + engine: + name: "EdgeHTML" + version: "" + - ua: "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0" spec: browser: