Search in sources :

Example 66 with Page

use of org.apache.wicket.Page in project wicket by apache.

the class MarkupFragmentTest method border.

/**
 * @throws Exception
 */
@Test
public void border() throws Exception {
    Page page = new MyBorderPage();
    Border border = (Border) page.get("border");
    // Get the associated markup file
    IMarkupFragment markup = border.getAssociatedMarkup();
    compareMarkupWithFile(markup, "MyBorder_ExpectedResult.html", MyPage.class);
    // getMarkup() returns the "calling" tags
    markup = border.getMarkup();
    compareMarkupWithString(markup, "<span wicket:id=\"border\">test</span>");
    // getMarkup(null) returns the markup which is used to find a child component
    markup = border.getMarkup(null);
    compareMarkupWithString(markup, "<wicket:border>  111  <wicket:body/>  222</wicket:border>");
    assertNull(border.getBodyContainer().getAssociatedMarkup());
    border.dequeue();
    markup = border.getBodyContainer().getMarkup();
    compareMarkupWithString(markup, "<wicket:body/>");
    markup = border.getBodyContainer().getMarkup(null);
    compareMarkupWithString(markup, "<span wicket:id=\"border\">test</span>");
    markup = border.getBodyContainer().getParent().getMarkup(border.getBodyContainer());
    compareMarkupWithString(markup, "<wicket:body/>");
    // getMarkup(null) returns the markup which is used to find a child component
    markup = border.getBodyContainer().getMarkup(null);
    compareMarkupWithString(markup, "<span wicket:id=\"border\">test</span>");
}
Also used : Page(org.apache.wicket.Page) IMarkupFragment(org.apache.wicket.markup.IMarkupFragment) Border(org.apache.wicket.markup.html.border.Border) Test(org.junit.Test)

Example 67 with Page

use of org.apache.wicket.Page in project wicket by apache.

the class WicketTesterTest method viewBook.

/**
 * @throws Exception
 */
@Test
public void viewBook() throws Exception {
    Book mockBook = new Book("xxId", "xxName");
    Page page = new ViewBook(mockBook);
    tester.startPage(page);
    // assertion
    tester.assertRenderedPage(ViewBook.class);
    tester.assertLabel("id", "xxId");
    tester.assertLabel("name", "xxName");
}
Also used : CreateBook(org.apache.wicket.util.tester.apps_1.CreateBook) ViewBook(org.apache.wicket.util.tester.apps_1.ViewBook) Book(org.apache.wicket.util.tester.apps_1.Book) ViewBook(org.apache.wicket.util.tester.apps_1.ViewBook) Page(org.apache.wicket.Page) ComponentFeedbackResourceTestingPage(org.apache.wicket.util.tester.apps_8.ComponentFeedbackResourceTestingPage) DummyPage(org.apache.wicket.resource.DummyPage) SuccessPage(org.apache.wicket.util.tester.apps_1.SuccessPage) ResultPage(org.apache.wicket.util.tester.apps_6.ResultPage) LinkPage(org.apache.wicket.util.tester.apps_6.LinkPage) MockInnerClassPage(org.apache.wicket.util.tester.MockPageParameterPage.MockInnerClassPage) AccessDeniedPage(org.apache.wicket.markup.html.pages.AccessDeniedPage) WebPage(org.apache.wicket.markup.html.WebPage) Test(org.junit.Test)

Example 68 with Page

use of org.apache.wicket.Page in project wicket by apache.

the class WicketTesterTest method pageConstructor.

/**
 * @throws Exception
 */
@Test
public void pageConstructor() throws Exception {
    Book mockBook = new Book("xxId", "xxName");
    Page page = new ViewBook(mockBook);
    tester.startPage(page);
    // assertion
    tester.assertRenderedPage(ViewBook.class);
    tester.clickLink("link");
    tester.assertRenderedPage(CreateBook.class);
}
Also used : CreateBook(org.apache.wicket.util.tester.apps_1.CreateBook) ViewBook(org.apache.wicket.util.tester.apps_1.ViewBook) Book(org.apache.wicket.util.tester.apps_1.Book) ViewBook(org.apache.wicket.util.tester.apps_1.ViewBook) Page(org.apache.wicket.Page) ComponentFeedbackResourceTestingPage(org.apache.wicket.util.tester.apps_8.ComponentFeedbackResourceTestingPage) DummyPage(org.apache.wicket.resource.DummyPage) SuccessPage(org.apache.wicket.util.tester.apps_1.SuccessPage) ResultPage(org.apache.wicket.util.tester.apps_6.ResultPage) LinkPage(org.apache.wicket.util.tester.apps_6.LinkPage) MockInnerClassPage(org.apache.wicket.util.tester.MockPageParameterPage.MockInnerClassPage) AccessDeniedPage(org.apache.wicket.markup.html.pages.AccessDeniedPage) WebPage(org.apache.wicket.markup.html.WebPage) Test(org.junit.Test)

Example 69 with Page

use of org.apache.wicket.Page in project wicket by apache.

the class AjaxLinkClickTest method testAjaxFallbackLinkClick.

/**
 * Test that clickLink also works with AjaxFallbackLinks
 *
 * AjaxFallbackLinks should be clicked and interpreted as an AjaxLink, which means that
 * AjaxRequestTarget is not null.
 */
@Test
public void testAjaxFallbackLinkClick() {
    final Page page = new MockPageWithLink();
    // Create a link, which we test is actually invoked
    page.add(new AjaxFallbackLink<Void>("ajaxLink") {

        private static final long serialVersionUID = 1L;

        public void onClick(Optional<AjaxRequestTarget> targetOptional) {
            linkClicked = true;
            targetOptional.ifPresent(target -> ajaxRequestTarget = target);
        }
    });
    tester.startPage(page);
    tester.clickLink("ajaxLink");
    assertTrue(linkClicked);
    assertNotNull(ajaxRequestTarget);
}
Also used : AjaxRequestTarget(org.apache.wicket.ajax.AjaxRequestTarget) Page(org.apache.wicket.Page) AjaxLink(org.apache.wicket.ajax.markup.html.AjaxLink) Optional(java.util.Optional) AjaxRequestTarget(org.apache.wicket.ajax.AjaxRequestTarget) Test(org.junit.Test) AjaxFallbackLink(org.apache.wicket.ajax.markup.html.AjaxFallbackLink) WicketTestCase(org.apache.wicket.util.tester.WicketTestCase) Before(org.junit.Before) Page(org.apache.wicket.Page) Test(org.junit.Test)

Example 70 with Page

use of org.apache.wicket.Page in project wicket by apache.

the class StatelessChecker method onBeforeRender.

/**
 * @see org.apache.wicket.application.IComponentOnBeforeRenderListener#onBeforeRender(org.apache.wicket.Component)
 */
@Override
public void onBeforeRender(final Component component) {
    if (mustCheck(component)) {
        final IVisitor<Component, Component> visitor = new IVisitor<Component, Component>() {

            @Override
            public void component(final Component comp, final IVisit<Component> visit) {
                if ((component instanceof Page) && mustCheck(comp)) {
                    // Do not go deeper, because this component will be
                    // checked by checker
                    // itself.
                    // Actually we could go deeper but that would mean we
                    // traverse it twice
                    // (for current component and for inspected one).
                    // We go deeper for Page because full tree will be
                    // inspected during
                    // isPageStateless call.
                    visit.dontGoDeeper();
                } else if (!comp.isStateless()) {
                    visit.stop(comp);
                } else {
                // continue
                }
            }
        };
        if (component.isStateless() == false) {
            StringList statefulBehaviors = new StringList();
            for (Behavior b : component.getBehaviors()) {
                if (b.getStatelessHint(component) == false) {
                    statefulBehaviors.add(Classes.name(b.getClass()));
                }
            }
            String reason;
            if (statefulBehaviors.size() == 0) {
                reason = " Possible reason: no stateless hint";
            } else {
                reason = " Stateful behaviors: " + statefulBehaviors.join();
            }
            fail(new StatelessCheckFailureException(component, reason));
            return;
        }
        if (component instanceof MarkupContainer) {
            MarkupContainer container = ((MarkupContainer) component);
            // Traverse children
            final Object o = container.visitChildren(visitor);
            if (o != null) {
                fail(new StatelessCheckFailureException(container, " Offending component: " + o));
                return;
            }
        }
        if (component instanceof Page) {
            final Page p = (Page) component;
            if (!p.isBookmarkable()) {
                fail(new StatelessCheckFailureException(p, " Only bookmarkable pages can be stateless"));
                return;
            }
            if (!p.isPageStateless()) {
                fail(new StatelessCheckFailureException(p, " for unknown reason"));
                return;
            }
        }
    }
}
Also used : MarkupContainer(org.apache.wicket.MarkupContainer) IVisitor(org.apache.wicket.util.visit.IVisitor) StringList(org.apache.wicket.util.string.StringList) Page(org.apache.wicket.Page) Behavior(org.apache.wicket.behavior.Behavior) Component(org.apache.wicket.Component) IVisit(org.apache.wicket.util.visit.IVisit)

Aggregations

Page (org.apache.wicket.Page)94 Test (org.junit.Test)50 WebPage (org.apache.wicket.markup.html.WebPage)22 Component (org.apache.wicket.Component)11 AjaxLink (org.apache.wicket.ajax.markup.html.AjaxLink)7 IRequestablePage (org.apache.wicket.request.component.IRequestablePage)7 WicketRuntimeException (org.apache.wicket.WicketRuntimeException)6 IRequestHandler (org.apache.wicket.request.IRequestHandler)6 RequestCycle (org.apache.wicket.request.cycle.RequestCycle)6 PageParameters (org.apache.wicket.request.mapper.parameter.PageParameters)6 AjaxRequestTarget (org.apache.wicket.ajax.AjaxRequestTarget)5 PageProvider (org.apache.wicket.core.request.handler.PageProvider)5 IMarkupFragment (org.apache.wicket.markup.IMarkupFragment)5 DummyPage (org.apache.wicket.resource.DummyPage)5 ArrayList (java.util.ArrayList)4 AbstractAjaxBehavior (org.apache.wicket.behavior.AbstractAjaxBehavior)4 AccessDeniedPage (org.apache.wicket.markup.html.pages.AccessDeniedPage)4 Url (org.apache.wicket.request.Url)4 MockInnerClassPage (org.apache.wicket.util.tester.MockPageParameterPage.MockInnerClassPage)4 SuccessPage (org.apache.wicket.util.tester.apps_1.SuccessPage)4