package lt.inventi.wicket.component.breadcrumb;
import static org.hamcrest.Matchers.contains;
import static org.junit.Assert.assertThat;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.junit.Test;
import lt.inventi.wicket.component.breadcrumb.BreadcrumbPageParameters;
public class BreadcrumbsPanelTest extends BreadcrumbsTests {
@Test
public void populatesPanelWithBreadcrumbs() {
tester.startPage(new PanelTestPage());
tester.assertRenderedPage(PanelTestPage.class);
assertThat(breadcrumbTitles(), contains("PanelTestPage"));
tester.assertDisabled("crumbs:crumbs:0:link:title");
// completely new breadcrumb trail created for another page
PanelTestPage lastPage = tester.startPage(new PanelTestPage());
assertThat(breadcrumbTitles(), contains("PanelTestPage"));
tester.assertDisabled("crumbs:crumbs:0:link:title");
PageParameters params = BreadcrumbPageParameters.setTrailTo(new PageParameters(), lastPage);
tester.startPage(new PanelTestPage(params));
assertThat(breadcrumbTitles(), contains("PanelTestPage", "PanelTestPage"));
tester.assertEnabled("crumbs:crumbs:0:link:title");
tester.assertDisabled("crumbs:crumbs:1:link:title");
}
private static class PanelTestPage extends AbstractBreadcrumbTestsPage {
public PanelTestPage() {
super();
}
public PanelTestPage(PageParameters parameters) {
super(parameters);
}
}
}