Repository: wicket Updated Branches: refs/heads/master 5fda8cee2 -> d8142a7e2
WICKET-6055 improved tests no need to call isVisibleInHierarchy in onBeforeRender(); corrected parameter name to id Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/d8142a7e Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/d8142a7e Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/d8142a7e Branch: refs/heads/master Commit: d8142a7e2e79a3b3d73ccb86074e7054f510c91f Parents: 5fda8ce Author: Sven Meier <[email protected]> Authored: Tue Feb 20 08:29:32 2018 +0100 Committer: Sven Meier <[email protected]> Committed: Tue Feb 20 08:29:32 2018 +0100 ---------------------------------------------------------------------- .../ajax/markup/html/AjaxLazyLoadPanel.java | 10 ++++---- .../ajax/markup/html/AjaxLazyLoadPanelPage.java | 6 +++++ .../ajax/markup/html/AjaxLazyLoadPanelTest.java | 27 ++++++++++++++++---- 3 files changed, 33 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/d8142a7e/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanel.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanel.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanel.java index 60e368e..4142ff5 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanel.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanel.java @@ -123,15 +123,15 @@ public abstract class AjaxLazyLoadPanel<T extends Component> extends Panel /** * Create a loading component shown instead of the actual content until it is {@link #isContentReady()}. * - * @param markupId - * The components markupid. + * @param id + * The components id * @return The component to show while the real content isn't ready yet */ - public Component getLoadingComponent(final String markupId) + public Component getLoadingComponent(final String id) { IRequestHandler handler = new ResourceReferenceRequestHandler( AbstractDefaultAjaxBehavior.INDICATOR); - return new Label(markupId, + return new Label(id, "<img alt=\"Loading...\" src=\"" + RequestCycle.get().urlFor(handler) + "\"/>") .setEscapeModelStrings(false); } @@ -177,7 +177,7 @@ public abstract class AjaxLazyLoadPanel<T extends Component> extends Panel { super.onBeforeRender(); - if (isVisibleInHierarchy() && loaded == false) { + if (loaded == false) { initTimer(); } } http://git-wip-us.apache.org/repos/asf/wicket/blob/d8142a7e/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanelPage.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanelPage.java b/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanelPage.java index 856aa99..fdd0660 100644 --- a/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanelPage.java +++ b/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanelPage.java @@ -48,6 +48,12 @@ public class AjaxLazyLoadPanelPage extends WebPage } @Override + public Component getLoadingComponent(String id) + { + return new Label(id, "LOADING"); + } + + @Override public Component getLazyLoadComponent(String id) { return new Label(id, "LOADED"); http://git-wip-us.apache.org/repos/asf/wicket/blob/d8142a7e/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanelTest.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanelTest.java b/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanelTest.java index 35854cb..e24a0cf 100644 --- a/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanelTest.java +++ b/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxLazyLoadPanelTest.java @@ -35,12 +35,17 @@ public class AjaxLazyLoadPanelTest extends WicketTestCase tester.startPage(page); - // render the loading component at least once + // loading component rendered at least once, timer set + tester.assertContains("LOADING"); tester.assertContainsNot("LOADED"); + tester.assertContains("Wicket.Timer.set\\("); AjaxLazyLoadPanelTester.executeAjaxLazyLoadPanel(tester); - + + // content, no timer needed any more + tester.assertContainsNot("LOADING"); tester.assertContains("LOADED"); + tester.assertContainsNot("Wicket.Timer.set\\("); } @Test @@ -50,17 +55,26 @@ public class AjaxLazyLoadPanelTest extends WicketTestCase page.contentReady = false; tester.startPage(page); - + + // no content, timer set + tester.assertContains("LOADING"); tester.assertContainsNot("LOADED"); + tester.assertContains("Wicket.Timer.set\\("); AjaxLazyLoadPanelTester.executeAjaxLazyLoadPanel(tester); + // no change, timer re-set + tester.assertContainsNot("LOADING"); tester.assertContainsNot("LOADED"); + tester.assertContains("Wicket.Timer.set\\("); page.contentReady = true; AjaxLazyLoadPanelTester.executeAjaxLazyLoadPanel(tester); - + + // content, no timer + tester.assertContainsNot("LOADING"); tester.assertContains("LOADED"); + tester.assertContainsNot("Wicket.Timer.set\\("); } @Test @@ -73,18 +87,21 @@ public class AjaxLazyLoadPanelTest extends WicketTestCase tester.startPage(page); // neither content nor timer since not visible + tester.assertContainsNot("LOADING"); tester.assertContainsNot("LOADED"); tester.assertContainsNot("Wicket.Timer.set\\("); tester.clickLink(page.link); // no content yet, but timer + tester.assertContains("LOADING"); tester.assertContainsNot("LOADED"); tester.assertContains("Wicket.Timer.set\\("); AjaxLazyLoadPanelTester.executeAjaxLazyLoadPanel(tester); - // content still, but no timer necessary anymore + // content, but no timer necessary anymore + tester.assertContainsNot("LOADING"); tester.assertContains("LOADED"); tester.assertContainsNot("Wicket.Timer.set\\("); }
