Repository: wicket Updated Branches: refs/heads/wicket-6.x 2678faa03 -> 1fccffb76
WICKET-6053 Allow to reuse the same application instance in several tests Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/8c3b6567 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/8c3b6567 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/8c3b6567 Branch: refs/heads/wicket-6.x Commit: 8c3b6567852f60f68aa92cc77361f05d924af8b3 Parents: 2678faa Author: Carl-Eric Menzel <cmen...@wicketbuch.de> Authored: Tue Jun 28 22:38:25 2016 +0200 Committer: Carl-Eric Menzel <cmen...@wicketbuch.de> Committed: Tue Jun 28 22:38:25 2016 +0200 ---------------------------------------------------------------------- .../wicket/util/tester/BaseWicketTester.java | 35 +++++++++----------- 1 file changed, 16 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/8c3b6567/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 67c85af..a9ec85f 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 @@ -318,18 +318,15 @@ public class BaseWicketTester this.application = application; - // If it's provided from the container it's not necessary to set again. - if (init) - { - // FIXME some tests are leaking applications by not calling destroy on them or overriding - // teardown() without calling super, for now we work around by making each name unique - application.setName("WicketTesterApplication-" + UUID.randomUUID()); - } ThreadContext.setApplication(application); - // If it's provided from the container it's not necessary to set again and init. if (init) { + if (application.getName() == null) + { + application.setName("WicketTesterApplication-" + UUID.randomUUID()); + } + application.setServletContext(servletContext); // initialize the application application.initApplication(); @@ -428,10 +425,10 @@ public class BaseWicketTester if (lastResponse != null) { List<Cookie> lastResponseCookies = lastResponse.getCookies(); - if (lastResponse.isRedirect()) + if (lastResponse.isRedirect()) { CookieCollection responseCookies = new CookieCollection(); - + // if the last request is a redirect, all cookies from last response should appear in current response // this call will filter duplicates responseCookies.addAll(lastResponseCookies); @@ -439,7 +436,7 @@ public class BaseWicketTester { response.addCookie(cookie); } - + // copy all request cookies from last request to the new request because of redirect handling // this way, the cookie will be send to the next requested page if (lastRequest != null) @@ -449,10 +446,10 @@ public class BaseWicketTester requestCookies.addAll(lastRequest.getCookies()); request.addCookies(requestCookies.asList()); } - } + } else { - // if the last response is not a redirect + // if the last response is not a redirect // - copy last request cookies to collection // - copy last response cookies to collection // - set only the not expired cookies to the next request @@ -1169,7 +1166,7 @@ public class BaseWicketTester Form<?> form = formSubmitBehavior.getForm(); getRequest().setUseMultiPartContentType(form.isMultiPart()); serializeFormToRequest(form); - + // mark behavior's component as the form submitter, String name = Form.getRootFormRelativeId(new PropertyModel<Component>(behavior, "component").getObject()); @@ -1542,15 +1539,15 @@ public class BaseWicketTester /** * A helper method for starting a component for a test without attaching it to a Page. - * + * * Components which are somehow dependent on the page structure can not be currently tested with * this method. - * + * * Example: - * + * * UserDataView view = new UserDataView("view", new ListDataProvider(userList)); * tester.startComponent(view); assertEquals(4, view.size()); - * + * * @param component * @return the processed component * @see #startComponentInPage(Class) @@ -2186,7 +2183,7 @@ public class BaseWicketTester /** * Retrieves <code>FeedbackMessages</code>. - * + * * @param level * level of feedback message, for example: * <code>FeedbackMessage.DEBUG or FeedbackMessage.INFO.. etc</code>