On Sun, 18 Jan 2009, Frank Bille wrote:
> [X] No, don't release because....
Unfortunately there is something that utterly breaks a huge
amount of WicketTester tests of ajax-submitted forms :/
I think that it's at least partly caused by this
http://fisheye6.atlassian.com/browse/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?r1=722097&r2=730362
http://issues.apache.org/jira/browse/WICKET-1910
and that Igor hit the nail on its head with his comment
"this is purely a problem with wickettester being the way
that it is but we cannot change that functionality because
it will break any existing ajax tests." :)
What seems to happen is that in a typical ajaxified form
test you enter the input with FormTester, which stores the
data in the current request, and then submit the form with
BaseWicketTester.executeAjaxEvent(), which assumes that the
input is in the same request. E.g. like this
FormTester form = wicket.newFormTester("panel:tagEditorForm");
form.setValue("artistContainer:artist", "Hurjat hipit");
form.setValue("artistContainer:artistCheck", "true");
submit(); // this calls executeAjaxEvent
http://www.laughingpanda.org/fisheye/browse/djuizzboxx/trunk/jukebox/src/test/java/org/laughingpanda/djuizzboxx/ui/tageditor/TagEditorPanelSpec.java?r=85#l162
But with the change introduced in WICKET-1910, the request
is created again in executeAjaxEvent, so the input fed with
FormTester cannot be found, and tests fail
http://www.laughingpanda.org/hudson/job/Djuizzboxx/252/console
I'll try to investigate further -- meanwhile, all ideas are
welcome!
I'm sorry for reporting so late -- it's mainly because I'm
still catching up after a month of holidays. Normally I
would have noticed the WicketTester changes earlier, and
should have tested with a snapshot before Frank went through
the work of preparing the release.
Best wishes,
Timo
--
Timo Rantalaiho
Reaktor Innovations Oy <URL: http://www.ri.fi/ >