Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x 28d4a4bbb -> 2668fbffa


WICKET-6373 Edge not recognized in UserAgent


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/2668fbff
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/2668fbff
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/2668fbff

Branch: refs/heads/wicket-7.x
Commit: 2668fbffa91b08a96e75d60a38c0567929b5ca63
Parents: 28d4a4b
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Tue Jun 13 23:08:52 2017 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Tue Jun 13 23:08:52 2017 +0200

----------------------------------------------------------------------
 .../wicket/protocol/http/request/UserAgent.java     | 12 +++++++-----
 .../wicket/protocol/http/request/UserAgentTest.java | 16 ++++++++++++++++
 2 files changed, 23 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2668fbff/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/UserAgent.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/UserAgent.java
 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/UserAgent.java
index da121cc..b9d659c 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/UserAgent.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/protocol/http/request/UserAgent.java
@@ -28,9 +28,9 @@ enum UserAgent {
 
        MOZILLA("Opera,AppleWebKit,Konqueror,Trident", Arrays.asList("Mozilla", 
"Gecko")),
 
-       FIREFOX("Opera,AppleWebKit,Konqueror,Trident", Arrays.asList("Mozilla", 
"Gecko", "Firefox")),
+       FIREFOX("Opera,AppleWebKit,Konqueror,Trident,Edge", 
Arrays.asList("Mozilla", "Gecko", "Firefox")),
 
-       INTERNET_EXPLORER("Opera",
+       INTERNET_EXPLORER("Opera,Edge",
                Arrays.asList("Mozilla", "MSIE", "Windows"),
                Arrays.asList("Mozilla", "MSIE", "Trident"),
                Arrays.asList("Mozilla", "MSIE", "Mac_PowerPC"),
@@ -38,11 +38,13 @@ enum UserAgent {
 
        OPERA(Arrays.asList("Opera")),
 
-       CHROME(Arrays.asList("Mozilla", "Chrome", "AppleWebKit", "Safari")),
+       CHROME(Arrays.asList("Mozilla,Edge", "Chrome", "AppleWebKit", 
"Safari")),
 
-       SAFARI("Chrome", Arrays.asList("Mozilla", "AppleWebKit", "Safari")),
+       SAFARI("Chrome,Edge", Arrays.asList("Mozilla", "AppleWebKit", 
"Safari")),
 
-       KONQUEROR(Arrays.asList("Konqueror"));
+       KONQUEROR(Arrays.asList("Konqueror")),
+
+       EDGE("Opera,Konqueror,Trident", Arrays.asList("Edge", "Mozilla", 
"Chrome", "Safari"));
 
        /**
         * The values which are not allowed in the user agent.

http://git-wip-us.apache.org/repos/asf/wicket/blob/2668fbff/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/UserAgentTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/UserAgentTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/UserAgentTest.java
index 9293457..5f2bcf0 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/UserAgentTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/UserAgentTest.java
@@ -39,6 +39,11 @@ public class UserAgentTest
                // check comma separated list of entries - Konqueror,Opera
                assertFalse(UserAgent.MOZILLA.matches("Something that contains 
Konqueror"));
                assertFalse(UserAgent.MOZILLA.matches("Something that contains 
Opera"));
+
+               // check blacklisted for EDGE
+               assertFalse(UserAgent.EDGE.matches("Something that contains 
Opera"));
+               assertFalse(UserAgent.EDGE.matches("Something that contains 
Konqueror"));
+               assertFalse(UserAgent.EDGE.matches("Something that contains 
Trident"));
        }
 
        /**
@@ -58,5 +63,16 @@ public class UserAgentTest
 
                // full match in detection group 2
                assertTrue(UserAgent.INTERNET_EXPLORER.matches("Mozilla MSIE 
Mac_PowerPC"));
+
+               // check Edge
+               final String userAgentEdge
+                               = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 
Edge/15.15063";
+               assertTrue(UserAgent.EDGE.matches(userAgentEdge));
+               assertFalse(UserAgent.FIREFOX.matches(userAgentEdge));
+               assertFalse(UserAgent.INTERNET_EXPLORER.matches(userAgentEdge));
+               assertFalse(UserAgent.SAFARI.matches(userAgentEdge));
+               assertFalse(UserAgent.CHROME.matches(userAgentEdge));
+               assertFalse(UserAgent.OPERA.matches(userAgentEdge));
+               assertFalse(UserAgent.KONQUEROR.matches(userAgentEdge));
        }
 }

Reply via email to