Author: jbq
Date: Tue Apr 24 01:02:33 2007
New Revision: 531818

URL: http://svn.apache.org/viewvc?view=rev&rev=531818
Log:
WICKET-381 WicketTester.startPage(Page) throws an exception

Fixed by Kare Nuorteva <kare.nuorteva at ri.fi>

Added:
    
incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage$MockInnerClassPage.html
   (with props)
Modified:
    
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
    
incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage.java
    
incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java

Modified: 
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?view=diff&rev=531818&r1=531817&r2=531818
==============================================================================
--- 
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
 (original)
+++ 
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
 Tue Apr 24 01:02:33 2007
@@ -212,17 +212,15 @@
         */
        public final Page startPage(final Page page)
        {
-               processRequestCycle(page);
+               return startPage(new ITestPageSource() {
+                       private static final long serialVersionUID = 1L;
 
-               Page last = getLastRenderedPage();
-               //
-               // createRequestCycle();
-               // getWicketSession().touch(page);
-               // if (page != last)
-               // {
-               // getWicketSession().touch(last);
-               // }
-               return last;
+                       public Page getTestPage()
+                       {
+                               return page;
+                       }
+                       
+               });
        }
 
        /**

Added: 
incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage$MockInnerClassPage.html
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage%24MockInnerClassPage.html?view=auto&rev=531818
==============================================================================
--- 
incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage$MockInnerClassPage.html
 (added)
+++ 
incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage$MockInnerClassPage.html
 Tue Apr 24 01:02:33 2007
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml"; 
xmlns:wicket="http://www.wicketframework.org";>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Mocked Inner Class Page</title>
+</head>
+<body>
+<div wicket:id="title">[Title]</div>
+</body>
+</html>

Propchange: 
incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage$MockInnerClassPage.html
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage.java?view=diff&rev=531818&r1=531817&r2=531818
==============================================================================
--- 
incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage.java
 (original)
+++ 
incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/MockPageParameterPage.java
 Tue Apr 24 01:02:33 2007
@@ -39,4 +39,18 @@
                add(new BookmarkablePageLink("link", 
MockPageParameterPage.class, new PageParameters("id=1")));
                add(new Label("label", pageParameters.getString("id")));
        }
+
+       /**
+        * Mock Page for testing WebPages implements as inner pages.
+        */
+       public static final class MockInnerClassPage extends WebPage {
+               private static final long serialVersionUID = 1L;
+
+               /**
+                * Construct.
+                */
+               public MockInnerClassPage() {
+                       add(new Label("title", "Hello world!"));
+               }
+       }
 }

Modified: 
incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java?view=diff&rev=531818&r1=531817&r2=531818
==============================================================================
--- 
incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
 (original)
+++ 
incubator/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
 Tue Apr 24 01:02:33 2007
@@ -33,6 +33,7 @@
 import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.markup.html.link.Link;
 import org.apache.wicket.request.target.coding.IRequestTargetUrlCodingStrategy;
+import org.apache.wicket.util.tester.MockPageParameterPage.MockInnerClassPage;
 import 
org.apache.wicket.util.tester.MockPageWithFormAndAjaxFormSubmitBehavior.Pojo;
 import org.apache.wicket.util.tester.apps_1.Book;
 import org.apache.wicket.util.tester.apps_1.CreateBook;
@@ -155,10 +156,9 @@
        }
 
        /**
-        * FIXME failing test disabled
         * @throws Exception
         */
-       public void bugTestPageConstructor() throws Exception
+       public void testPageConstructor() throws Exception
        {
                Book mockBook = new Book("xxId", "xxName");
                Page page = new ViewBook(mockBook);
@@ -168,6 +168,20 @@
                tester.assertRenderedPage(ViewBook.class);
                tester.clickLink("link");
                tester.assertRenderedPage(CreateBook.class);
+       }
+
+       /**
+        * Test instance constructor and inner page class
+        * @throws Exception
+        */
+       public void testConstructorAndInnerPage() throws Exception
+       {
+               tester.startPage(new MockInnerClassPage());
+
+               // assertion
+               tester.assertRenderedPage(MockInnerClassPage.class);
+               tester.assertComponent("title", Label.class);
+               tester.assertContains("Hello world!");
        }
 
        /**


Reply via email to