package com.ttdev.wicketpagetest.sample.guice; import org.apache.wicket.Component; import org.apache.wicket.extensions.breadcrumb.DefaultBreadCrumbsModel; import org.apache.wicket.extensions.breadcrumb.IBreadCrumbModel; import org.apache.wicket.extensions.breadcrumb.panel.BreadCrumbPanel; import org.apache.wicket.extensions.breadcrumb.panel.IBreadCrumbPanelFactory; import org.openqa.selenium.By; import org.testng.annotations.Test; import com.ttdev.wicketpagetest.ComponentFactory; import com.ttdev.wicketpagetest.WebPageTestContext; import com.ttdev.wicketpagetest.WicketSeleniumDriver; @Test public class SimpleBreadCrumbPanelTest { public void testOpenBreadCrumbPanel() { WicketSeleniumDriver ws = WebPageTestContext.getWicketSelenium(); ws.openBreadCrumbPanel(new IBreadCrumbPanelFactory() { private static final long serialVersionUID = 1L; public BreadCrumbPanel create(String componentId, IBreadCrumbModel breadCrumbModel) { return new SimpleBreadCrumbPanel(componentId, breadCrumbModel); }; }); assert ws.getText(By.id("info")).equals("Hello"); String breadCrumbText = ws.getText("//crumb//link"); assert breadCrumbText.equals("Simple"); } public void testOpenBreadCrumbPanelLikeOtherComponent() { WicketSeleniumDriver ws = WebPageTestContext.getWicketSelenium(); ws.openComponent(new ComponentFactory() { private static final long serialVersionUID = 1L; public Component createComponent(String id) { return new SimpleBreadCrumbPanel(id, new DefaultBreadCrumbsModel()); } }); assert ws.getText(By.id("info")).equals("Hello"); boolean linkPresent = false; // there should be no crumb link by calling openComponent try { ws.getText("//crumb//link"); linkPresent = true; } catch (Throwable e) { } assert !linkPresent; } }