Thibault Kruse created WICKET-5666:
--------------------------------------

             Summary: WicketTester "page was null" for reused stateless Form
                 Key: WICKET-5666
                 URL: https://issues.apache.org/jira/browse/WICKET-5666
             Project: Wicket
          Issue Type: Bug
          Components: wicket
    Affects Versions: 6.16.0
         Environment: Ubuntu, Java7
            Reporter: Thibault Kruse


Hi, so this is a weird bug, took ages to find out how to reproduce.
Basically we have a page with a form that calls setResponsePage in onSubmit().

Then we write a test for it that uses WicketTester.assertRenderedPage()

And under specific circumstances, we get back an AssertionError
{code}
junit.framework.AssertionFailedError: page was null
        at 
org.apache.wicket.util.tester.WicketTester.assertResult(WicketTester.java:566)
        at 
org.apache.wicket.util.tester.WicketTester.assertRenderedPage(WicketTester.java:476)
        at 
com.example.TestHomePage.testSubmitSecondPageFails(TestHomePage.java:37)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
        at 
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
        at 
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211)
        at 
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
{code}

which does not make sense. We also found that modifying our example slightly 
would make the assertion work again, such as not clearing Page Params. Will 
provide link to quickstart project example.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to