Author: jdonnerstag
Date: Wed Jul 21 19:33:49 2010
New Revision: 966377
URL: http://svn.apache.org/viewvc?rev=966377&view=rev
Log:
fixed WICKET-2594 Add the ability to assert against BookmarkablePageLink in the
same way you can with wicketTester.assertPageLink
Issue: WICKET-2594
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java?rev=966377&r1=966376&r2=966377&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java
Wed Jul 21 19:33:49 2010
@@ -30,9 +30,12 @@ import junit.framework.AssertionFailedEr
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.Page;
+import org.apache.wicket.PageParameters;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.feedback.FeedbackMessage;
+import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.protocol.http.HttpSessionStore;
import org.apache.wicket.protocol.http.MockHttpServletResponse;
@@ -526,6 +529,36 @@ public class WicketTester extends BaseWi
}
/**
+ * Asserts that that the BookmarkablePageLink identified by "id" points
to the page as expected
+ * - including parameters.
+ *
+ * @param id
+ * @param pageClass
+ * @param parameters
+ */
+ public void assertBookmarkablePageLink(final String id,
+ final Class<? extends WebPage> pageClass, final String
parameters)
+ {
+ BookmarkablePageLink<?> pageLink = null;
+ try
+ {
+ pageLink =
(BookmarkablePageLink<?>)getComponentFromLastRenderedPage(id);
+ }
+ catch (ClassCastException e)
+ {
+ throw new IllegalArgumentException("Component with id:"
+ id +
+ " is not a BookmarkablePageLink");
+ }
+
+ Assert.assertEquals("BookmarkablePageLink: " + id + " is
pointing to the wrong page",
+ pageClass, pageLink.getPageClass());
+
+ Assert.assertEquals(
+ "One or more of the parameters associated with the
BookmarkablePageLink: " + id +
+ " do not match", new
PageParameters(parameters), pageLink.getPageParameters());
+ }
+
+ /**
* Asserts a last-rendered <code>Page</code> class.
*
* @param expectedRenderedPageClass