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