Updated Branches: refs/heads/master 8923bdfa1 -> fed607f62
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/fed607f6 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/fed607f6 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/fed607f6 Branch: refs/heads/master Commit: fed607f62de2c6635d4c04045c2f4d9cb24add25 Parents: 8923bdf Author: svenmeier <s...@meiers.net> Authored: Tue Nov 26 12:47:21 2013 +0100 Committer: svenmeier <s...@meiers.net> Committed: Tue Nov 26 12:47:21 2013 +0100 ---------------------------------------------------------------------- .../wicket/util/tester/BaseWicketTester.java | 36 +++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/fed607f6/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 58eec83..9f7c4c3 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 @@ -41,6 +41,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; @@ -2639,17 +2640,34 @@ 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; + } + } + }; } }