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;