Hi!
For some reason ModalWindow assumes request is not ajax even though it
is clicked via executeAjaxEvent:
if (getWebRequest().isAjax() == false)
{
shown = false; // This hides the button
}
Thread [main] (Suspended (breakpoint at line 3191 in Component))
SettingsModalPanelContents$8$3$1(Component).setVisible(boolean) line:
3191
ModalWindow.onBeforeRender() line: 820
ModalWindow(Component).internalBeforeRender() line: 1061
ModalWindow(Component).beforeRender() line: 1095
RedirectPageRequestTarget(PageRequestTarget).respond(RequestCycle)
line: 63
WicketTester(MockWebApplication).postProcessRequestCycle(WebRequestCycle)
line: 558
WicketTester(MockWebApplication).processRequestCycle(WebRequestCycle)
line: 517
WicketTester(BaseWicketTester).executeAjaxEvent(Component, String)
line: 1233
WicketTester(BaseWicketTester).executeAjaxEvent(String, String) line:
1109
TestSettings.testModalSettings() line: 157
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not
available
Method.invoke(Object, Object...) line: not available
So the test fails with no good reason when the modal window assumes it
is not visible.
Basically what the test does is the following:
1. submit form
2. click links
3. executeajaxevent
4. submit form
5. executeajaxevent to open modal window
6. exceuteajaxevent on a button on the modal window <fails>
I found a workaround by placing "tester.setupRequestAndResponse()"
just before line 5. Ofcourse a true fix would we nice.
**
Martin