Hi all,
the exception is apparently caused by mounting the LoginPage. In my
Application init(), I do this:
mountBookmarkablePage("/login", LoginPage.class);
When I remove that line, the test runs fine. Could be a bug in
WicketTester? I'd like some opinions on that before I file a JIRA issue.
I'm using Wicket 1.3.5.
-stephan
Stephan Koch wrote:
> Hi all,
>
> I ran into a problem with WicketTester. I am doing a very simple test of
> the login form of my application:
>
> <code>
> .. setup stuff ...
>
> tester.startPage(LoginPage.class);
> tester.assertComponent("form:loginName", TextField.class);
> FormTester loginFormTester = tester.newFormTester("form");
> loginFormTester.setValue("loginName", testUser.getUsername());
> loginFormTester.setValue("password", "test");
> tester.clickLink("form:loginSubmit");
> tester.assertRenderedPage(DashboardPage.class);
>
> </code>
>
> The form is a standard wicket form object with 1 Textfield, 1
> PasswordTextField for username and password, 2 buttons that use
> SubmitLinks, and a FeedbackPanel.
>
> I get the following error when submitting the form. I have no idea where
> that '/' comes from, but its obviously causing the problem.
> I also tried to use formtester.submit("loginSubmit") with the same results.
>
> Any suggestions?
>
>
>
> BR,
> Stephan
>
> org.apache.wicket.WicketRuntimeException: Internal error parsing
> wicket:interface = :0:form::IFormSubmitListener::/; wrong format for url
> depth argument. Expected a number but was '/'
> at
> org.apache.wicket.protocol.http.request.WebRequestCodingStrategy.addInterfaceParameters(WebRequestCodingStrategy.java:617)
> at
> org.apache.wicket.protocol.http.request.WebRequestCodingStrategy.addInterfaceParameters(WebRequestCodingStrategy.java:554)
> at
> org.apache.wicket.protocol.http.request.WebRequestCodingStrategy.decode(WebRequestCodingStrategy.java:199)
> at org.apache.wicket.Request.getRequestParameters(Request.java:171)
> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1233)
> at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353)
> at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
> at
> org.apache.wicket.protocol.http.MockWebApplication.processRequestCycle(MockWebApplication.java:484)
> at
> org.apache.wicket.protocol.http.MockWebApplication.processRequestCycle(MockWebApplication.java:472)
> at
> org.apache.wicket.util.tester.BaseWicketTester.executeListener(BaseWicketTester.java:248)
> at
> org.apache.wicket.util.tester.BaseWicketTester.submitForm(BaseWicketTester.java:791)
> at
> org.apache.wicket.util.tester.BaseWicketTester.clickLink(BaseWicketTester.java:741)
> at
> org.apache.wicket.util.tester.BaseWicketTester.clickLink(BaseWicketTester.java:617)
> at
> com.xxx.xxx.wicket.pages.AllPagesInstantiationTest.testAllPagesFromMainMenu(AllPagesInstantiationTest.java:41)
> 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:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at
> org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:69)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> Caused by: java.lang.NumberFormatException: For input string: "/"
> at
> java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
> at java.lang.Integer.parseInt(Integer.java:447)
> at java.lang.Integer.parseInt(Integer.java:497)
> at
> org.apache.wicket.protocol.http.request.WebRequestCodingStrategy.addInterfaceParameters(WebRequestCodingStrategy.java:613)
> ... 30 more
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]