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 2011/04/13 17:50:57 UTC
svn commit: r1091831 -
/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java
Author: mgrigorov
Date: Wed Apr 13 15:50:56 2011
New Revision: 1091831
URL: http://svn.apache.org/viewvc?rev=1091831&view=rev
Log:
WICKET-3347 Simplify somehow the code in org.apache.wicket.request.handler.render.WebPageRenderer.respond(RequestCycle)
Add test for RedirectPolicy#NEVER_REDIRECT
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java
Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java?rev=1091831&r1=1091830&r2=1091831&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java Wed Apr 13 15:50:56 2011
@@ -31,6 +31,7 @@ import org.apache.wicket.request.compone
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.handler.IPageProvider;
import org.apache.wicket.request.handler.RenderPageRequestHandler;
+import org.apache.wicket.request.handler.RenderPageRequestHandler.RedirectPolicy;
import org.apache.wicket.request.http.WebRequest;
import org.apache.wicket.request.http.WebResponse;
import org.apache.wicket.settings.IRequestCycleSettings;
@@ -82,29 +83,43 @@ public class WebPageRendererTest
public void testOnePassRender()
{
- PageRenderer renderer = new WebPageRenderer(handler)
+ PageRenderer renderer = new TestPageRenderer(handler)
{
@Override
protected boolean isOnePassRender()
{
return true;
}
+ };
- @Override
- protected BufferedWebResponse getAndRemoveBufferedResponse(Url url)
- {
- return null;
- }
+ when(urlRenderer.getBaseUrl()).thenReturn(Url.parse("base"));
+
+ when(requestCycle.mapUrlFor(eq(handler))).thenReturn(Url.parse("base/a"));
+
+ when(request.shouldPreserveClientUrl()).thenReturn(false);
+ renderer.respond(requestCycle);
+
+ verify(response).write(any(byte[].class));
+ verify(response, never()).sendRedirect(anyString());
+ }
+
+ /**
+ * Tests that when {@link RenderPageRequestHandler#getRedirectPolicy()} is
+ * {@link RedirectPolicy#NEVER_REDIRECT} there wont be a redirect issued
+ */
+ @Test
+ public void testRedirectPolicyNever()
+ {
+
+ PageRenderer renderer = new TestPageRenderer(handler)
+ {
@Override
- protected BufferedWebResponse renderPage(Url targetUrl, RequestCycle requestCycle)
+ protected RedirectPolicy getRedirectPolicy()
{
- BufferedWebResponse webResponse = super.renderPage(targetUrl, requestCycle);
- webResponse.write("some response".getBytes());
- return webResponse;
+ return RedirectPolicy.NEVER_REDIRECT;
}
-
};
when(urlRenderer.getBaseUrl()).thenReturn(Url.parse("base"));
@@ -118,4 +133,30 @@ public class WebPageRendererTest
verify(response).write(any(byte[].class));
verify(response, never()).sendRedirect(anyString());
}
+
+ /**
+ * Configures common methods which are used by all tests
+ */
+ private static class TestPageRenderer extends WebPageRenderer
+ {
+ public TestPageRenderer(RenderPageRequestHandler renderPageRequestHandler)
+ {
+ super(renderPageRequestHandler);
+ }
+
+ @Override
+ protected BufferedWebResponse getAndRemoveBufferedResponse(Url url)
+ {
+ return null;
+ }
+
+ @Override
+ protected BufferedWebResponse renderPage(Url targetUrl, RequestCycle requestCycle)
+ {
+ BufferedWebResponse webResponse = super.renderPage(targetUrl, requestCycle);
+ webResponse.write("some response".getBytes());
+ return webResponse;
+ }
+
+ }
}