in 1.2 you cannot call error/info/etc from component's constructor because
you havent added that component to the page yet. in 1.3 it just works.

-igor


On 8/7/07, Gabor Szokoli <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> I'm using wicket 1.2, and use the WicketTester startPage(...) method
> in a unit test.
> (In fact there's nothing else in it, I just want to test if the markup
> matches the component hierarchy.)
> Problem is, a component on the page uses its error(...) method to
> display its dissatisfaction with the mock data in a feedbackpanel,
> which is perfectly normal operation.
> But that causes an exception:
>
> java.lang.IllegalStateException: No Page found for component
> [MarkupContainer [Component id = signInForm, page = <No Page>, path =
> signInForm.LoginPanel$SignInForm]]
>
> Is this expected? Did I do something wrong?
>
> Any advice is appreciated.
> Upgrading to wicket 1.3 is planned, but I'd rather have tests even before
> that.
>
>
> Thank you for your attention and the great framework!
>
> Gabor
>
> Ps: Here's the full output:
>
>
> SEVERE: tester: unexpected
> wicket.WicketRuntimeException: tester: unexpected
>         at wicket.util.tester.WicketTester.convertoUnexpect(
> WicketTester.java:381)
>         at wicket.util.tester.WicketTester.access$200(WicketTester.java
> :178)
>         at wicket.util.tester.WicketTester$3.getTestPanel(
> WicketTester.java:365)
>         at wicket.util.tester.DummyPanelPage.<init>(DummyPanelPage.java
> :40)
>         at wicket.util.tester.WicketTester$2.getTestPage(WicketTester.java
> :336)
>         at wicket.util.tester.DummyHomePage$TestLink.onClick(
> DummyHomePage.java:84)
>         at wicket.markup.html.link.Link.onLinkClicked(Link.java:254)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at wicket.RequestListenerInterface.invoke(
> RequestListenerInterface.java:187)
>         at
> wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents
> (ListenerInterfaceRequestTarget.java:74)
>         at
> wicket.request.compound.DefaultEventProcessorStrategy.processEvents(
> DefaultEventProcessorStrategy.java:65)
>         at
> wicket.request.compound.AbstractCompoundRequestCycleProcessor.processEvents
> (AbstractCompoundRequestCycleProcessor.java:57)
>         at wicket.RequestCycle.doProcessEventsAndRespond(RequestCycle.java
> :896)
>         at wicket.RequestCycle.processEventsAndRespond(RequestCycle.java
> :929)
>         at wicket.RequestCycle.step(RequestCycle.java:1010)
>         at wicket.RequestCycle.steps(RequestCycle.java:1084)
>         at wicket.RequestCycle.request(RequestCycle.java:454)
>         at wicket.protocol.http.MockWebApplication.processRequestCycle(
> MockWebApplication.java:318)
>         at wicket.protocol.http.MockWebApplication.processRequestCycle(
> MockWebApplication.java:307)
>         at wicket.util.tester.WicketTester.newRequestToComponent(
> WicketTester.java:248)
>         at wicket.util.tester.WicketTester.startPage(WicketTester.java
> :235)
>         at wicket.util.tester.WicketTester.startPanel(WicketTester.java
> :330)
>         at com.deverto.centrex.panels.LoginPanelTest.testForm(
> LoginPanelTest.java:26)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at junit.framework.TestCase.runTest(TestCase.java:164)
>         at junit.framework.TestCase.runBare(TestCase.java:130)
>         at junit.framework.TestResult$1.protect(TestResult.java:110)
>         at junit.framework.TestResult.runProtected(TestResult.java:128)
>         at junit.framework.TestResult.run(TestResult.java:113)
>         at junit.framework.TestCase.run(TestCase.java:120)
>         at junit.framework.TestSuite.runTest(TestSuite.java:228)
>         at junit.framework.TestSuite.run(TestSuite.java:223)
>         at org.junit.internal.runners.OldTestClassRunner.run(
> OldTestClassRunner.java:35)
>         at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(
> JUnit4TestSet.java:62)
>         at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(
> AbstractDirectoryTestSuite.java:138)
>         at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(
> AbstractDirectoryTestSuite.java:125)
>         at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(
> SurefireBooter.java:290)
>         at org.apache.maven.surefire.booter.SurefireBooter.main(
> SurefireBooter.java:818)
> Caused by: java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(
> NativeConstructorAccessorImpl.java:39)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
> DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>         at wicket.util.tester.WicketTester$3.getTestPanel(
> WicketTester.java:345)
>         ... 46 more
> Caused by: java.lang.IllegalStateException: No Page found for
> component [MarkupContainer [Component id = signInForm, page = <No
> Page>, path = signInForm.LoginPanel$SignInForm]]
>         at wicket.Component.getPage(Component.java:1037)
>         at wicket.Component.error(Component.java:673)
>         at com.deverto.centrex.panels.LoginPanel$SignInForm.<init>(
> LoginPanel.java:108)
>         at com.deverto.centrex.panels.LoginPanel.<init>(LoginPanel.java
> :49)
>         ... 51 more
> wicket.WicketRuntimeException: tester: unexpected
>         at wicket.util.tester.WicketTester.convertoUnexpect(
> WicketTester.java:381)
>         at wicket.util.tester.WicketTester.access$200(WicketTester.java
> :178)
>         at wicket.util.tester.WicketTester$3.getTestPanel(
> WicketTester.java:365)
>         at wicket.util.tester.DummyPanelPage.<init>(DummyPanelPage.java
> :40)
>         at wicket.util.tester.WicketTester$2.getTestPage(WicketTester.java
> :336)
>         at wicket.util.tester.DummyHomePage$TestLink.onClick(
> DummyHomePage.java:84)
>         at wicket.markup.html.link.Link.onLinkClicked(Link.java:254)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at wicket.RequestListenerInterface.invoke(
> RequestListenerInterface.java:187)
>         at
> wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents
> (ListenerInterfaceRequestTarget.java:74)
>         at
> wicket.request.compound.DefaultEventProcessorStrategy.processEvents(
> DefaultEventProcessorStrategy.java:65)
>         at
> wicket.request.compound.AbstractCompoundRequestCycleProcessor.processEvents
> (AbstractCompoundRequestCycleProcessor.java:57)
>         at wicket.RequestCycle.doProcessEventsAndRespond(RequestCycle.java
> :896)
>         at wicket.RequestCycle.processEventsAndRespond(RequestCycle.java
> :929)
>         at wicket.RequestCycle.step(RequestCycle.java:1010)
>         at wicket.RequestCycle.steps(RequestCycle.java:1084)
>         at wicket.RequestCycle.request(RequestCycle.java:454)
>         at wicket.protocol.http.MockWebApplication.processRequestCycle(
> MockWebApplication.java:318)
>         at wicket.protocol.http.MockWebApplication.processRequestCycle(
> MockWebApplication.java:307)
>         at wicket.util.tester.WicketTester.newRequestToComponent(
> WicketTester.java:248)
>         at wicket.util.tester.WicketTester.startPage(WicketTester.java
> :235)
>         at wicket.util.tester.WicketTester.startPanel(WicketTester.java
> :330)
>         at com.deverto.centrex.panels.LoginPanelTest.testForm(
> LoginPanelTest.java:26)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at junit.framework.TestCase.runTest(TestCase.java:164)
>         at junit.framework.TestCase.runBare(TestCase.java:130)
>         at junit.framework.TestResult$1.protect(TestResult.java:110)
>         at junit.framework.TestResult.runProtected(TestResult.java:128)
>         at junit.framework.TestResult.run(TestResult.java:113)
>         at junit.framework.TestCase.run(TestCase.java:120)
>         at junit.framework.TestSuite.runTest(TestSuite.java:228)
>         at junit.framework.TestSuite.run(TestSuite.java:223)
>         at org.junit.internal.runners.OldTestClassRunner.run(
> OldTestClassRunner.java:35)
>         at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(
> JUnit4TestSet.java:62)
>         at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(
> AbstractDirectoryTestSuite.java:138)
>         at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(
> AbstractDirectoryTestSuite.java:125)
>         at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(
> SurefireBooter.java:290)
>         at org.apache.maven.surefire.booter.SurefireBooter.main(
> SurefireBooter.java:818)
> Caused by: java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(
> NativeConstructorAccessorImpl.java:39)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
> DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>         at wicket.util.tester.WicketTester$3.getTestPanel(
> WicketTester.java:345)
>         ... 46 more
> Caused by: java.lang.IllegalStateException: No Page found for
> component [MarkupContainer [Component id = signInForm, page = <No
> Page>, path = signInForm.LoginPanel$SignInForm]]
>         at wicket.Component.getPage(Component.java:1037)
>         at wicket.Component.error(Component.java:673)
>         at com.deverto.centrex.panels.LoginPanel$SignInForm.<init>(
> LoginPanel.java:108)
>         at com.deverto.centrex.panels.LoginPanel.<init>(LoginPanel.java
> :49)
>         ... 51 more
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to