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


Reply via email to