Author: jdonnerstag
Date: Wed Jul 21 19:34:06 2010
New Revision: 966378
URL: http://svn.apache.org/viewvc?rev=966378&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/trunk/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java?rev=966378&r1=966377&r2=966378&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/WicketTester.java
Wed Jul 21 19:34:06 2010
@@ -30,9 +30,12 @@ import org.apache.wicket.MarkupContainer
import org.apache.wicket.Page;
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.WebApplication;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -456,5 +459,33 @@ public class WicketTester extends BaseWi
clickLink(link.getPageRelativePath());
}
+ /**
+ * 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());
+ }
}