FIX: Correctly identify Chromium-based Edge

FIX: Correctly identify Chromium-based Edge

Chromium-based Edge browsers has only “Edg” in user agent string.

diff --git a/lib/browser_detection.rb b/lib/browser_detection.rb
index 6d7f6bc..f2e8639 100644
--- a/lib/browser_detection.rb
+++ b/lib/browser_detection.rb
@@ -4,7 +4,7 @@ module BrowserDetection
 
   def self.browser(user_agent)
     case user_agent
-    when /Edge/i
+    when /Edg/i
       :edge
     when /Opera/i, /OPR/i
       :opera
diff --git a/spec/lib/browser_detection_spec.rb b/spec/lib/browser_detection_spec.rb
index 854c3b3..afeb8e9 100644
--- a/spec/lib/browser_detection_spec.rb
+++ b/spec/lib/browser_detection_spec.rb
@@ -30,7 +30,8 @@ describe BrowserDetection do
       ["Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)", :firefox, :linux, :linux],
       ["Opera/9.80 (X11; Linux zvav; U; en) Presto/2.12.423 Version/12.16", :opera, :linux, :linux],
       ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246", :edge, :windows, :windows],
-      ["Mozilla/5.0 (X11; CrOS x86_64 11895.95.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.125 Safari/537.36 ", :chrome, :chromebook, :chromeos]
+      ["Mozilla/5.0 (X11; CrOS x86_64 11895.95.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.125 Safari/537.36 ", :chrome, :chromebook, :chromeos],
+      ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edg/75.10240", :edge, :windows, :windows]
     ].each do |user_agent, browser, device, os|
       expect(BrowserDetection.browser(user_agent)).to eq(browser)
       expect(BrowserDetection.device(user_agent)).to eq(device)

GitHub sha: b5705348

1 Like