You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/06/21 11:42:18 UTC
git commit: WICKET-4610 WicketTester.assertRedirectUrl always fails
because it always thinks the redirect was null
Updated Branches:
refs/heads/wicket-1.5.x 3122a2db9 -> 12e5604e8
WICKET-4610 WicketTester.assertRedirectUrl always fails because it always thinks the redirect was null
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/12e5604e
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/12e5604e
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/12e5604e
Branch: refs/heads/wicket-1.5.x
Commit: 12e5604e88642d9180d473affe31f93454a97219
Parents: 3122a2d
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Jun 21 12:39:14 2012 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Jun 21 12:39:14 2012 +0300
----------------------------------------------------------------------
.../http/mock/MockHttpServletResponse.java | 1 +
.../wicket/util/tester/BaseWicketTester.java | 9 +++++-
.../wicket/util/tester/WicketTesterTest.java | 23 +++++++++++++++
3 files changed, 32 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/12e5604e/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletResponse.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletResponse.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletResponse.java
index 6288e5d..a1846ed 100755
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletResponse.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletResponse.java
@@ -583,6 +583,7 @@ public class MockHttpServletResponse implements HttpServletResponse, IMetaDataBu
public void sendRedirect(String location) throws IOException
{
redirectLocation = location;
+ status = HttpServletResponse.SC_FOUND;
}
/**
http://git-wip-us.apache.org/repos/asf/wicket/blob/12e5604e/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
index 2ab8058..f19b5c2 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
@@ -728,7 +728,10 @@ public class BaseWicketTester
{
String originalHost = requestUrl.getHost();
String redirectHost = newUrl.getHost();
- if (originalHost == redirectHost)
+ Integer originalPort = requestUrl.getPort();
+ Integer newPort = newUrl.getPort();
+
+ if (originalHost.equals(redirectHost))
{
return false; // identical or both null
}
@@ -736,6 +739,10 @@ public class BaseWicketTester
{
return false; // no new host
}
+ else if (originalPort.equals(newPort) == false)
+ {
+ return true;
+ }
else
{
return !(redirectHost.equals(originalHost));
http://git-wip-us.apache.org/repos/asf/wicket/blob/12e5604e/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java b/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
index f3657e0..54141b7 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
@@ -21,6 +21,7 @@ import java.util.List;
import java.util.Locale;
import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletResponse;
import junit.framework.AssertionFailedError;
@@ -1255,4 +1256,26 @@ public class WicketTesterTest extends WicketTestCase
tester.startPage(new RedirectPage());
tester.assertRenderedPage(CreateBook.class);
}
+
+ public static class AlwaysRedirectPage extends WebPage
+ {
+ public AlwaysRedirectPage()
+ {
+ // redirects to another web server on the same computer
+ throw new RedirectToUrlException("http://localhost:4333/");
+ }
+ }
+
+ /**
+ * https://issues.apache.org/jira/browse/WICKET-4610
+ */
+ @Test
+ public void redirectToAbsoluteUrlTest()
+ {
+ WicketTester tester = new WicketTester();
+ tester.setFollowRedirects(false);
+ tester.startPage(AlwaysRedirectPage.class);
+ tester.assertRedirectUrl("http://localhost:4333/");
+ assertEquals(HttpServletResponse.SC_FOUND, tester.getLastResponse().getStatus());
+ }
}