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


Reply via email to