package lt.inventi.wicket.component.breadcrumb;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.not;
import static org.junit.Assert.assertThat;
import org.apache.wicket.markup.IMarkupFragment;
import org.apache.wicket.markup.Markup;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.junit.Test;
public class BreadcrumbsBookmarkablePageParametersTest extends BreadcrumbsTests {
@Test
public void copiesPageParametersOfABookmarkableLink() {
APage page = tester.startPage(APage.class);
page = tester.startPage(APage.class, BreadcrumbPageParameters.setTrailTo(new PageParameters(), page));
@SuppressWarnings("unchecked")
BookmarkablePageLink<APage> link = (BookmarkablePageLink<APage>) tester.getComponentFromLastRenderedPage("link");
assertThat(link.getPageParameters(), is(not(page.getPageParameters())));
}
public static class APage extends AbstractBreadcrumbTestsPage {
public APage(PageParameters parameters) {
super(parameters);
}
@Override
protected void onInitialize() {
super.onInitialize();
add(new BookmarkablePageLink<APage>("link", APage.class, getPage().getPageParameters()));
}
@Override
public IMarkupFragment getMarkup() {
return Markup.of("<body>"
+ "<div wicket:id=\"crumbs\"></div>"
+ "<a wicket:id=\"link\"></a>"
+ "</body>");
}
}
}