Author: jcompagner
Date: Wed Oct 31 06:26:43 2007
New Revision: 590661

URL: http://svn.apache.org/viewvc?rev=590661&view=rev
Log:
be able to test bookmarkable pages with parameters

Modified:
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/WicketTestCase.java

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java?rev=590661&r1=590660&r2=590661&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
 Wed Oct 31 06:26:43 2007
@@ -338,11 +338,22 @@
         */
        public void processRequestCycle(final Class pageClass)
        {
+               processRequestCycle(pageClass, null);
+       }
+
+       /**
+        * Initialize a new WebRequestCycle and all its dependent objects
+        * 
+        * @param pageClass
+        * @param params
+        */
+       public void processRequestCycle(final Class pageClass, PageParameters 
params)
+       {
                setupRequestAndResponse();
                final WebRequestCycle cycle = createRequestCycle();
                try
                {
-                       cycle.request(new 
BookmarkablePageRequestTarget(pageClass));
+                       cycle.request(new 
BookmarkablePageRequestTarget(pageClass, params));
                }
                finally
                {

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?rev=590661&r1=590660&r2=590661&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
 Wed Oct 31 06:26:43 2007
@@ -288,6 +288,21 @@
        }
 
        /**
+        * Renders a <code>Page</code> from its default constructor.
+        * 
+        * @param pageClass
+        *            a test <code>Page</code> class with default constructor
+        * @param parameters
+        *            the parameters to use for the class.
+        * @return the rendered <code>Page</code>
+        */
+       public final Page startPage(Class pageClass, PageParameters parameters)
+       {
+               processRequestCycle(pageClass, parameters);
+               return getLastRenderedPage();
+       }
+
+       /**
         * Creates a [EMAIL PROTECTED] FormTester} for the <code>Form</code> at 
a given path, and fills all child
         * [EMAIL PROTECTED] org.apache.wicket.markup.html.form.FormComponent}s 
with blank <code>String</code>s.
         * 

Modified: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/WicketTestCase.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/WicketTestCase.java?rev=590661&r1=590660&r2=590661&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/WicketTestCase.java 
(original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/WicketTestCase.java 
Wed Oct 31 06:26:43 2007
@@ -85,6 +85,25 @@
        }
 
        /**
+        * Use <code>-Dwicket.replace.expected.results=true</code> to 
automatically replace the
+        * expected output file.
+        * 
+        * @param pageClass
+        * @param parameters
+        * @param filename
+        * @throws Exception
+        */
+       protected void executeTest(final Class pageClass, PageParameters 
parameters,
+                       final String filename) throws Exception
+       {
+               System.out.println("=== " + pageClass.getName() + " ===");
+
+               tester.startPage(pageClass, parameters);
+               tester.assertRenderedPage(pageClass);
+               tester.assertResultPage(getClass(), filename);
+       }
+
+       /**
         * 
         * @param clazz
         * @param component


Reply via email to