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!"); } /**