Updated Branches:
  refs/heads/master 19929f8e7 -> ac3dddd84

WICKET-5389 allow continued processing after exception is thrown

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

Branch: refs/heads/master
Commit: ac3dddd842e365c724a996c863a1c40d09f71c49
Parents: 19929f8
Author: svenmeier <[email protected]>
Authored: Thu Oct 17 16:48:00 2013 +0200
Committer: svenmeier <[email protected]>
Committed: Thu Oct 17 16:48:00 2013 +0200

----------------------------------------------------------------------
 .../wicket/util/tester/BaseWicketTester.java    | 13 +++++---
 .../wicket/util/tester/WicketTesterTest.java    | 31 ++++++++++++++++++--
 2 files changed, 37 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ac3dddd8/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 3e4e178..4b42a14 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
@@ -651,19 +651,24 @@ public class BaseWicketTester
                        preHeader = null;
                }
 
+               applyRequest();
+               requestCycle.scheduleRequestHandlerAfterCurrent(null);
+
                try
                {
-                       applyRequest();
-                       requestCycle.scheduleRequestHandlerAfterCurrent(null);
-
                        if (!requestCycle.processRequestAndDetach())
                        {
                                return false;
                        }
-
+               }
+               finally
+               {
                        recordRequestResponse();
                        setupNextRequestCycle();
+               }
 
+               try
+               {
                        if (followRedirects && lastResponse.isRedirect())
                        {
                                if (redirectCount++ >= 100)

http://git-wip-us.apache.org/repos/asf/wicket/blob/ac3dddd8/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java 
b/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
index cc722c3..78f3f08 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
@@ -862,9 +862,10 @@ public class WicketTesterTest extends WicketTestCase
        {
                String url = "wicket/resource/" + 
BlockedResourceLinkPage.class.getName() + "/" +
                        BlockedResourceLinkPage.class.getSimpleName() + 
".html,xml";
-               tester.executeUrl(url);
-               assertNull("Comma separated extensions are not supported and 
wont find any resource",
-                               tester.getLastResponse());
+
+               tester.getRequest().setURL(url);
+               assertFalse("Comma separated extensions are not supported and 
wont find any resource",
+                       tester.processRequest());
        }
 
        /**
@@ -1241,4 +1242,28 @@ public class WicketTesterTest extends WicketTestCase
                Component label = 
tester.getComponentFromLastRenderedPage("label");
                tester.assertComponentFeedbackMessage(label, "info.msg", null, 
new ExactLevelFeedbackMessageFilter(FeedbackMessage.INFO));
        }
+
+       /**
+        * WICKET-XXXX reuse WicketTester after preceeding exception
+        */
+       @Test
+       public void reuseAfterException()
+       {
+               try
+               {
+                       tester.startPage(new MockPageParameterPage(new 
PageParameters())
+                       {
+                               @Override
+                               protected void onInitialize()
+                               {
+                                       throw new IllegalStateException();
+                               }
+                       });
+               }
+               catch (Exception expected)
+               {
+               }
+
+               tester.startPage(new MockPageParameterPage(new 
PageParameters()));
+       }
 }

Reply via email to