use of org.apache.wicket.request.Url in project wicket by apache.
the class PackageMapperTest method decode1.
/**
*/
@Test
void decode1() {
Url url = Url.parse(MOUNT_PATH + '/' + PAGE_CLASS_NAME);
IRequestHandler handler = encoder.mapRequest(getRequest(url));
assertThat(handler).isInstanceOf(RenderPageRequestHandler.class);
IRequestablePage page = ((RenderPageRequestHandler) handler).getPage();
assertEquals(PAGE_CLASS_NAME, page.getClass().getSimpleName());
assertEquals(0, page.getPageParameters().getIndexedCount());
assertTrue(page.getPageParameters().getNamedKeys().isEmpty());
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class PackageMapperTest method decode4.
/**
* The tests resolves pages by id as if they were existed in the page store. These pages have no
* page parameters (i.e. page.getPageParameters() == null).
*
* Since Wicket 7.0.0 (WICKET-4441) if a new request to hybrid url (a url with both mount path
* and pageId) has different page parameters than the resolved page then a new page instance
* with the new parameters is created. This way if a user manipulates manually the product id in
* url like: /mount/path/Products/23?3 to /mount/path/Products/24?3 then Wicket will create a
* new page that will show product=24
*/
@Test
void decode4() {
Url url = Url.parse(MOUNT_PATH + '/' + PAGE_CLASS_NAME + "/i1/i2?15&a=b&b=c");
IRequestHandler handler = encoder.mapRequest(getRequest(url));
assertThat(handler).isInstanceOf(RenderPageRequestHandler.class);
RenderPageRequestHandler h = (RenderPageRequestHandler) handler;
((PageProvider) h.getPageProvider()).setPageSource(context);
IRequestablePage page = h.getPage();
checkPage(page, 1);
PageParameters p = page.getPageParameters();
assertEquals(2, p.getIndexedCount());
assertEquals(2, p.getNamedKeys().size());
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class PackageMapperTest method encode1.
/**
*/
@Test
void encode1() {
PageProvider provider = new PageProvider(MockPage.class, new PageParameters());
provider.setPageSource(context);
IRequestHandler handler = new BookmarkablePageRequestHandler(provider);
Url url = encoder.mapHandler(handler);
assertEquals(MOUNT_PATH + '/' + PAGE_CLASS_NAME, url.toString());
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class PackageMapperTest method decode7.
/**
*/
@Test
void decode7() {
Url url = Url.parse(MOUNT_PATH + '/' + PAGE_CLASS_NAME + "?15-.4-foo-bar");
IRequestHandler handler = encoder.mapRequest(getRequest(url));
assertThat(handler).isInstanceOf(ListenerRequestHandler.class);
ListenerRequestHandler h = (ListenerRequestHandler) handler;
IRequestablePage page = h.getPage();
checkPage(page, 15);
assertEquals("foo:bar", h.getComponent().getPageRelativePath());
assertEquals((Object) 4, h.getBehaviorIndex());
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class PackageMapperTest method encode8.
/**
*/
@Test
void encode8() {
MockPage page = new MockPage(15);
page.setBookmarkable(true);
page.setCreatedBookmarkable(true);
page.setPageStateless(true);
IPageProvider provider = new PageProvider(page);
IRequestHandler handler = new RenderPageRequestHandler(provider);
Url url = encoder.mapHandler(handler);
assertEquals(MOUNT_PATH + '/' + PAGE_CLASS_NAME, url.toString());
}
Aggregations