You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2013/11/26 12:47:59 UTC

[2/2] git commit: WICKET-5424 record rendered page after wrapped render has responded

WICKET-5424 record rendered page after wrapped render has responded

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/52766371
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/52766371
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/52766371

Branch: refs/heads/wicket-6.x
Commit: 5276637135f108d1036c2098ca438a650180f226
Parents: 8094436
Author: svenmeier <sv...@meiers.net>
Authored: Tue Nov 26 12:47:10 2013 +0100
Committer: svenmeier <sv...@meiers.net>
Committed: Tue Nov 26 12:47:10 2013 +0100

----------------------------------------------------------------------
 .../wicket/util/tester/BaseWicketTester.java    | 37 +++++++++++++++-----
 1 file changed, 28 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/52766371/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 16efa26..7b8806a 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
@@ -40,6 +40,7 @@ import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpSession;
 
 import junit.framework.AssertionFailedError;
+
 import org.apache.wicket.Application;
 import org.apache.wicket.Component;
 import org.apache.wicket.IPageManagerProvider;
@@ -2646,17 +2647,35 @@ public class BaseWicketTester
 		}
 
 		@Override
-		public PageRenderer get(RenderPageRequestHandler handler)
+		public PageRenderer get(final RenderPageRequestHandler handler)
 		{
-			Page newPage = (Page)handler.getPageProvider().getPageInstance();
-			if (componentInPage != null && lastPage != null &&
-				lastPage.getPageClass() != newPage.getPageClass())
+			return new PageRenderer(handler)
 			{
-				// WICKET-3913: reset startComponent if a new page type is rendered
-				componentInPage = null;
-			}
-			lastRenderedPage = lastPage = newPage;
-			return delegate.get(handler);
+				@Override
+				public void respond(RequestCycle requestCycle)
+				{
+					delegate.get(handler).respond(requestCycle);
+
+					// WICKET-5424 record page after wrapped renderer has
+					// responded
+					if (handler.getPageProvider().hasPageInstance())
+					{
+						Page renderedPage = (Page)handler.getPageProvider().getPageInstance();
+						if (componentInPage != null && lastPage != null
+								&& lastPage.getPageClass() != renderedPage.getPageClass())
+						{
+							// WICKET-3913: reset startComponent if a new page
+							// type is rendered
+							componentInPage = null;
+						}
+						lastRenderedPage = lastPage = renderedPage;
+					}
+					else
+					{
+						lastRenderedPage = null;
+					}
+				}
+			};
 		}
 	}