In the projects I have worked on we have used helper Path objects for
testing which describe how to find a child of a given Component.
In first sight it looks like we are duplicating the component tree and
this is almost true but it helps a lot for such kind of problems
because the Path helper hides these details from you and if you change
something in the original component hierarchy then you need to
fix only the related Path object and all your tests work again.
Otherwise you have to fix the component path in all tests where you
use it.
I'm also experiencing this, after making changes to the hierarchy inside a
component unit tests start to fail because component paths have changed.
Your suggestions looks interesting and would solve this problem.
Another approach is to use MarkupContainer#visitChildren() + IVisitFilter.
In your example:
VisitorHelper.getComponentPath(form, firstname, TextField.class)
i.e. the helper will find the single child with type TextField and id
firstName down in the hierarchy. From there on is easy to recreate
the component path back to the root (the form in this case).
The second approach sounds good enough for me to be included in WicketTester
...
On Thu, Feb 23, 2012 at 1:05 PM, Schlärmann, Bob
bob.schlarm...@logica.com wrote:
Hi list,
I have a form with components each contained within an individual border.
When testing the form with FormTester I have to specify the full component id
including the intermediate component id's added by the border. Is there any
easier way to do this, e.g. with wildcard paths or something?
For example with a form like:
form wicket:id=form
div wicket:id=borderFirstname
input type=input wicket:id=firstname/
/div
/form
The following id needs to be used for FormTester.setValue:
border.borderFirstname:border.borderFistname_body:firstname
Best regards,
Bob
Think green - keep it on the screen.
This e-mail and any attachment is for authorised use by the intended
recipient(s) only. It may contain proprietary material, confidential
information and/or be subject to legal privilege. It should not be copied,
disclosed to, retained or used by, any other party. If you are not an intended
recipient then please promptly delete this e-mail and any attachment and all
copies and inform the sender. Thank you.
--
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com
-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org
Think green - keep it on the screen.
This e-mail and any attachment is for authorised use by the intended
recipient(s) only. It may contain proprietary material, confidential
information and/or be subject to legal privilege. It should not be copied,
disclosed to, retained or used by, any other party. If you are not an intended
recipient then please promptly delete this e-mail and any attachment and all
copies and inform the sender. Thank you.