You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2016/07/28 11:09:37 UTC
struts git commit: WW-4671 makes URLValidator case insensitive
Repository: struts
Updated Branches:
refs/heads/master 0bd2e7058 -> d19b9eaa8
WW-4671 makes URLValidator case insensitive
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/d19b9eaa
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/d19b9eaa
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/d19b9eaa
Branch: refs/heads/master
Commit: d19b9eaa82753a5dd671ee4f0847574f65f4aebf
Parents: 0bd2e70
Author: Lukasz Lenart <lu...@apache.org>
Authored: Thu Jul 28 13:09:21 2016 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Thu Jul 28 13:09:21 2016 +0200
----------------------------------------------------------------------
.../validator/validators/URLValidator.java | 2 +-
.../xwork2/validator/URLValidatorTest.java | 42 ++++++++++++++++++++
2 files changed, 43 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/d19b9eaa/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java b/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java
index fd678a7..735d861 100644
--- a/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java
+++ b/core/src/main/java/com/opensymphony/xwork2/validator/validators/URLValidator.java
@@ -55,7 +55,7 @@ public class URLValidator extends FieldValidatorSupport {
return;
}
- if (!(value.getClass().equals(String.class)) || !Pattern.compile(getUrlRegex()).matcher((String) value).matches()) {
+ if (!(value.getClass().equals(String.class)) || !Pattern.compile(getUrlRegex(), Pattern.CASE_INSENSITIVE).matcher(String.valueOf(value)).matches()) {
addFieldError(fieldName, object);
}
}
http://git-wip-us.apache.org/repos/asf/struts/blob/d19b9eaa/core/src/test/java/com/opensymphony/xwork2/validator/URLValidatorTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/com/opensymphony/xwork2/validator/URLValidatorTest.java b/core/src/test/java/com/opensymphony/xwork2/validator/URLValidatorTest.java
index 77223eb..56a9bcc 100644
--- a/core/src/test/java/com/opensymphony/xwork2/validator/URLValidatorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/validator/URLValidatorTest.java
@@ -20,6 +20,8 @@ import com.opensymphony.xwork2.XWorkTestCase;
import com.opensymphony.xwork2.util.ValueStack;
import com.opensymphony.xwork2.validator.validators.URLValidator;
+import java.util.HashMap;
+import java.util.Map;
import java.util.regex.Pattern;
/**
@@ -146,6 +148,46 @@ public class URLValidatorTest extends XWorkTestCase {
assertTrue(pattern.matcher("http://localhost:8080/myapp").matches());
}
+ public void testValidUrlCaseInsesitive() throws Exception {
+ // given
+ final Map<String, Object> fieldErrors = new HashMap<>();
+
+ URLValidator validator = new URLValidator() {
+ @Override
+ public String getFieldName() {
+ return "url";
+ }
+
+ @Override
+ protected Object getFieldValue(String name, Object object) throws ValidationException {
+ return object;
+ }
+
+ @Override
+ protected void addFieldError(String propertyName, Object object) {
+ fieldErrors.put(propertyName, object);
+ }
+ };
+
+ // when
+ validator.validate("http://localhost:8080/myapp");
+
+ // then
+ assertTrue(fieldErrors.isEmpty());
+
+ // when
+ validator.validate("http://LOCALHOST:8080/MYAPP");
+
+ // then
+ assertTrue(fieldErrors.isEmpty());
+
+ // when
+ validator.validate("http://www.appache.org/TEST");
+
+ // then
+ assertTrue(fieldErrors.isEmpty());
+ }
+
@Override
protected void setUp() throws Exception {
super.setUp();