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;
+                                       }
+                               }
+                       };
                }
        }
 

Reply via email to