You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Igor Vaynberg <ig...@gmail.com> on 2009/06/01 04:46:53 UTC
Re: unit test of AjaxLazyLoadPanel and ModalWindow
maybe you should paste it into a jira issue so we can commit it into code.
-igor
On Thu, May 28, 2009 at 7:36 PM, Antony Stubbs <an...@gmail.com> 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 <wu...@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-unsubscribe@wicket.apache.org
>>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
> -----
> ___________________________
>
> http://stubbisms.wordpress.com http://stubbisms.wordpress.com
> --
> View this message in context: http://www.nabble.com/unit-test-of-AjaxLazyLoadPanel-and-ModalWindow-tp16851306p23773356.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: unit test of AjaxLazyLoadPanel and ModalWindow
Posted by Antony Stubbs <an...@gmail.com>.
done, and improved, with junit test :)
https://issues.apache.org/jira/browse/WICKET-2306
igor.vaynberg wrote:
>
> maybe you should paste it into a jira issue so we can commit it into code.
>
> -igor
>
> On Thu, May 28, 2009 at 7:36 PM, Antony Stubbs <an...@gmail.com>
> 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 <wu...@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-unsubscribe@wicket.apache.org
>>>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>> -----
>> ___________________________
>>
>> http://stubbisms.wordpress.com http://stubbisms.wordpress.com
>> --
>> View this message in context:
>> http://www.nabble.com/unit-test-of-AjaxLazyLoadPanel-and-ModalWindow-tp16851306p23773356.html
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
>
-----
___________________________
http://stubbisms.wordpress.com http://stubbisms.wordpress.com
--
View this message in context: http://www.nabble.com/unit-test-of-AjaxLazyLoadPanel-and-ModalWindow-tp16851306p23845062.html
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org