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 2013/06/13 11:48:22 UTC
[10/11] git commit: tests done
tests done
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/d3055f73
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/d3055f73
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/d3055f73
Branch: refs/heads/master
Commit: d3055f73934936dbc2d3d4d7bebac86c3618ca4c
Parents: 58daafa
Author: Michael Mosmann <mi...@mosmann.de>
Authored: Thu Sep 27 01:28:20 2012 +0200
Committer: Michael Mosmann <mi...@mosmann.de>
Committed: Thu Sep 27 01:28:20 2012 +0200
----------------------------------------------------------------------
.../handler/render/WebPageRendererTest.java | 132 +++++++++++++++----
1 file changed, 109 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/d3055f73/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java
index a537360..bce93cb 100644
--- a/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/request/handler/render/WebPageRendererTest.java
@@ -637,7 +637,9 @@ public class WebPageRendererTest
boolean newPageInstance;
boolean pageStateless;
- // if the policy is never to redirect
+
+ // if
+ // the policy is never to redirect
redirectPolicy=RedirectPolicy.NEVER_REDIRECT;
ajax=true;
onePassRender=true;
@@ -659,36 +661,30 @@ public class WebPageRendererTest
Assert.assertTrue(WebPageRenderer.shouldRenderPageAndWriteResponse(ajax, onePassRender, redirectToRender, redirectPolicy, shouldPreserveClientUrl, targetEqualsCurrentUrl, newPageInstance, pageStateless));
- // or one pass render mode is on
- // -> or one pass render mode is on and its NOT ajax and its NOT always redirect
+ // or
+ // its NOT ajax and
+ // one pass render mode is on and NOT forced to redirect
+ // or
+ // the targetUrl matches current url and page is NOT stateless and NOT a new instance
redirectPolicy=RedirectPolicy.AUTO_REDIRECT;
- onePassRender=true;
ajax=false;
+ onePassRender=true;
Assert.assertTrue(WebPageRenderer.shouldRenderPageAndWriteResponse(ajax, onePassRender, redirectToRender, redirectPolicy, shouldPreserveClientUrl, targetEqualsCurrentUrl, newPageInstance, pageStateless));
- redirectToRender=true;
- shouldPreserveClientUrl=true;
targetEqualsCurrentUrl=true;
- newPageInstance=true;
- pageStateless=true;
+ redirectPolicy=RedirectPolicy.ALWAYS_REDIRECT;
+ onePassRender=false;
- Assert.assertTrue(WebPageRenderer.shouldRenderPageAndWriteResponse(ajax, onePassRender, redirectToRender, redirectPolicy, shouldPreserveClientUrl, targetEqualsCurrentUrl, newPageInstance, pageStateless));
+ newPageInstance=false;
+ pageStateless=false;
- // or the targetUrl matches current url and the page is not stateless
- // or the targetUrl matches current url, page is stateless but it's redirect-to-render
- // --> its NOT ajax and
- // the targetUrl matches current url and the page is NOT stateless and its NOT a new instance
- // or the targetUrl matches current url and it's redirect-to-render
+ Assert.assertTrue(WebPageRenderer.shouldRenderPageAndWriteResponse(ajax, onePassRender, redirectToRender, redirectPolicy, shouldPreserveClientUrl, targetEqualsCurrentUrl, newPageInstance, pageStateless));
- ajax=false;
+ // or
+ // the targetUrl matches current url and it's redirect-to-render
+ redirectToRender=true;
targetEqualsCurrentUrl=true;
- pageStateless=false;
- newPageInstance=false;
-
- onePassRender=false;
- redirectToRender=false;
- shouldPreserveClientUrl=false;
Assert.assertTrue(WebPageRenderer.shouldRenderPageAndWriteResponse(ajax, onePassRender, redirectToRender, redirectPolicy, shouldPreserveClientUrl, targetEqualsCurrentUrl, newPageInstance, pageStateless));
@@ -699,8 +695,9 @@ public class WebPageRendererTest
Assert.assertTrue(WebPageRenderer.shouldRenderPageAndWriteResponse(ajax, onePassRender, redirectToRender, redirectPolicy, shouldPreserveClientUrl, targetEqualsCurrentUrl, newPageInstance, pageStateless));
- // or the request determines that the current url should be preserved
- // just render the page
+ // or
+ // the request determines that the current url should be preserved
+ // just render the page
shouldPreserveClientUrl=true;
redirectPolicy=RedirectPolicy.AUTO_REDIRECT;
@@ -823,6 +820,95 @@ public class WebPageRendererTest
checkVariations(match,new ShouldRedirectToTargetUrl());
}
+ public void testShouldRedirectToTargetUrlCondition() {
+
+ boolean ajax;
+ RedirectPolicy redirectPolicy;
+ boolean redirectToRender;
+ boolean targetEqualsCurrentUrl;
+ boolean newPageInstance;
+ boolean pageStateless;
+ boolean sessionTemporary;
+
+ // if
+ // render policy is always-redirect
+
+ ajax=false;
+ redirectPolicy=RedirectPolicy.ALWAYS_REDIRECT;
+ redirectToRender=false;
+ targetEqualsCurrentUrl=false;
+ newPageInstance=false;
+ pageStateless=false;
+ sessionTemporary=false;
+
+ Assert.assertTrue(WebPageRenderer.shouldRedirectToTargetUrl(ajax, redirectPolicy, redirectToRender, targetEqualsCurrentUrl, newPageInstance, pageStateless,sessionTemporary));
+
+ // or
+ // it's redirect-to-render
+ redirectPolicy=RedirectPolicy.AUTO_REDIRECT;
+ redirectToRender=true;
+
+ Assert.assertTrue(WebPageRenderer.shouldRedirectToTargetUrl(ajax, redirectPolicy, redirectToRender, targetEqualsCurrentUrl, newPageInstance, pageStateless,sessionTemporary));
+
+ // or
+ // its ajax and the targetUrl matches current url
+ redirectToRender=false;
+ ajax=true;
+ targetEqualsCurrentUrl=true;
+
+ Assert.assertTrue(WebPageRenderer.shouldRedirectToTargetUrl(ajax, redirectPolicy, redirectToRender, targetEqualsCurrentUrl, newPageInstance, pageStateless,sessionTemporary));
+
+ // or
+ // targetUrl DONT matches current url and
+ // is new page instance
+ // or
+ // session is temporary and page is stateless
+ ajax=false;
+ targetEqualsCurrentUrl=false;
+ newPageInstance=true;
+
+ Assert.assertTrue(WebPageRenderer.shouldRedirectToTargetUrl(ajax, redirectPolicy, redirectToRender, targetEqualsCurrentUrl, newPageInstance, pageStateless,sessionTemporary));
+
+ newPageInstance=false;
+ sessionTemporary=true;
+ pageStateless=true;
+
+ Assert.assertTrue(WebPageRenderer.shouldRedirectToTargetUrl(ajax, redirectPolicy, redirectToRender, targetEqualsCurrentUrl, newPageInstance, pageStateless,sessionTemporary));
+ // just redirect
+ }
+
+ public void testShouldNOTRedirectToTargetUrlCondition() {
+
+ boolean ajax;
+ RedirectPolicy redirectPolicy;
+ boolean redirectToRender;
+ boolean targetEqualsCurrentUrl;
+ boolean newPageInstance;
+ boolean pageStateless;
+ boolean sessionTemporary;
+
+ // NOT if
+ // render policy is always-redirect
+ // AND NOT
+ // it's redirect-to-render
+ // AND NOT
+ // its ajax and the targetUrl matches current url
+ // AND NOT
+ // targetUrl DONT matches current url and
+ // is new page instance
+ // or
+ // session is temporary and page is stateless
+
+ ajax=false;
+ redirectPolicy=RedirectPolicy.AUTO_REDIRECT;
+ redirectToRender=false;
+ targetEqualsCurrentUrl=false;
+ newPageInstance=false;
+ pageStateless=false;
+ sessionTemporary=false;
+
+ Assert.assertFalse(WebPageRenderer.shouldRedirectToTargetUrl(ajax, redirectPolicy, redirectToRender, targetEqualsCurrentUrl, newPageInstance, pageStateless,sessionTemporary));
+ }
private int countVariations(AbstractVariations variations) {
int count=1;