Hi,
As suggested by message subject, you had a problem for testing
AjaxLazyLoadPanel and ModalWindow. You provided a solution for the first
case (great!), but there is nothing in this thread about testing
ModelWindow.
Does your solution apply to ModalWindow too ? Or is there another method ?
NB : I'm using the iframe version of ModalWindows...
Regards
Bernard



Antony Stubbs wrote:
> 
> And here's a nicer version to add to your library:
> 
> 
>     /**
>      * Triggers an {...@link AjaxLazyLoadPanel} to fetch it's contents.
>      *
>      * @param wc the {...@link WicketTester} to execute the behaviour (
> {...@link WicketTester#executeBehavior} ).
>      * @param container contains the {...@link AjaxLazyLoadPanel} to trigger
>      */
>     private void executeAjaxLazyLoadPanel(final WicketTester wc, Panel
> container) {
>         container.visitChildren( AjaxLazyLoadPanel.class, new
> IVisitor<AjaxLazyLoadPanel>() {
> 
>             @Override
>             public Object component(AjaxLazyLoadPanel component) {
>                 List<IBehavior> behaviors = component.getBehaviors();
>                 // get the AbstractAjaxBehaviour which is responsible for
>                 // getting the contents of the lazy panel
>                 AbstractAjaxBehavior b = (AbstractAjaxBehavior)
> behaviors.get( 0 );
>                 // tell wicket tester to execute it :)
>                 wc.executeBehavior( b );
>                 // continue with visitation rights, or not, i don't care
>                 return CONTINUE_TRAVERSAL;
>             }
>         } );
>     }
> 
> 
> Antony Stubbs wrote:
>> 
>> And boom! Thanks for the  inspiration Frank! 
>> 
>>         final WicketTester wc = constructBasicPanel();
>>         wc.debugComponentTrees();
>>         wc.dumpPage();
>> // delicious is the constructed panel, which contains a
>> AjaxLazyLoadPanel...
>> // visit it's children, looking for the AjaxLazyLoadPanel
>>         delicious.visitChildren( AjaxLazyLoadPanel.class, new
>> IVisitor<AjaxLazyLoadPanel>(){
>> 
>>             @Override
>>             public Object component(AjaxLazyLoadPanel component) {
>> // get the AbstractAjaxBehaviour which is responsible for getting the
>> contents of the lazy panel
>>                 List<IBehavior> behaviors = component.getBehaviors();
>>                 final AbstractAjaxBehavior b;
>>                 b = (AbstractAjaxBehavior) behaviors.get( 0 );
>> // tell wicket tester to execute it :)
>>                 wc.executeBehavior( b );
>> // continue with visitation rights, or not, i don't care
>>                 return null;
>>             }} );
>> 
>>         wc.debugComponentTrees();
>>         wc.dumpPage();
>> // and volah, your lazy panel is now replaced with the contents :)
>>         wc.assertComponent(
>> "panel:lazy:content:repeaterContainer:bookmarks:1", Item.class );
>>         wc.assertInvisible( "panel:lazy:content:noBookmarks" );
>> 
>> Let me know what you think or if you have any improvements!
>> 
>> 
>> Antony Stubbs wrote:
>>> 
>>> Thanks for the info Frank. Any tips on how to do so?
>>> 
>>> 
>>> Frank Bille wrote:
>>>> 
>>>> On Thu, Apr 24, 2008 at 8:10 PM, qk <wuhanqiangk...@gmail.com> wrote:
>>>>>  1. after the page was rendered using WicketTester.startPage(), the
>>>>> "real"
>>>>>  content (the one that returned by getLazyLoadComponent()) was not
>>>>> loaded by
>>>>>  default. I always got an empty panel. Is there a way that I can have
>>>>> the
>>>>>  "real" content rendered?
>>>> 
>>>> Wicket tester doesn't parse javascript, so it can't execute the ajax
>>>> callback. You have to do that yourself.
>>>> 
>>>> Frank
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/unit-test-of-AjaxLazyLoadPanel-and-ModalWindow-tp16851306p26793515.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to