Updated Branches: refs/heads/master b3982a4be -> 5e1bf8d81
WICKET-4594 added test that stateless pages get page parameters Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/5e1bf8d8 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/5e1bf8d8 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/5e1bf8d8 Branch: refs/heads/master Commit: 5e1bf8d8169a8d01f041a1d2bf41a8b8fe170dbd Parents: b3982a4 Author: svenmeier <[email protected]> Authored: Tue Mar 5 10:46:13 2013 +0100 Committer: svenmeier <[email protected]> Committed: Tue Mar 5 10:46:13 2013 +0100 ---------------------------------------------------------------------- .../request/mapper/AbstractBookmarkableMapper.java | 9 +++- .../core/request/mapper/MountedMapperTest.java | 41 ++++++++++++--- 2 files changed, 40 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/5e1bf8d8/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java index 668d0a4..93c22d2 100644 --- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/AbstractBookmarkableMapper.java @@ -246,9 +246,14 @@ public abstract class AbstractBookmarkableMapper extends AbstractComponentMapper if (listenerInterface != null) { - // WICKET-4594 - ignore the parsed parameters as they have nothing to do with the page + if (pageInfo.getPageId() != null) + { + // WICKET-4594 - ignore the parsed parameters for stateful pages + pageParameters = null; + } + PageAndComponentProvider provider = new PageAndComponentProvider(pageInfo.getPageId(), - pageClass, null, renderCount, componentInfo.getComponentPath()); + pageClass, pageParameters, renderCount, componentInfo.getComponentPath()); provider.setPageSource(getContext()); http://git-wip-us.apache.org/repos/asf/wicket/blob/5e1bf8d8/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java index 62dd866..3815361 100644 --- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/MountedMapperTest.java @@ -18,12 +18,6 @@ package org.apache.wicket.core.request.mapper; import org.apache.wicket.MockPage; import org.apache.wicket.core.request.handler.BookmarkableListenerInterfaceRequestHandler; -import org.apache.wicket.markup.html.link.ILinkListener; -import org.apache.wicket.request.IRequestHandler; -import org.apache.wicket.request.IRequestMapper; -import org.apache.wicket.request.Url; -import org.apache.wicket.request.component.IRequestableComponent; -import org.apache.wicket.request.component.IRequestablePage; import org.apache.wicket.core.request.handler.BookmarkablePageRequestHandler; import org.apache.wicket.core.request.handler.IPageProvider; import org.apache.wicket.core.request.handler.IPageRequestHandler; @@ -31,6 +25,12 @@ import org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler; import org.apache.wicket.core.request.handler.PageAndComponentProvider; import org.apache.wicket.core.request.handler.PageProvider; import org.apache.wicket.core.request.handler.RenderPageRequestHandler; +import org.apache.wicket.markup.html.link.ILinkListener; +import org.apache.wicket.request.IRequestHandler; +import org.apache.wicket.request.IRequestMapper; +import org.apache.wicket.request.Url; +import org.apache.wicket.request.component.IRequestableComponent; +import org.apache.wicket.request.component.IRequestablePage; import org.apache.wicket.request.http.WebRequest; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.junit.Test; @@ -288,6 +288,31 @@ public class MountedMapperTest extends AbstractMapperTest } /** + * + */ + @Test + public void decode12() + { + Url url = Url.parse("some/mount/path/i1/i2?-1.ILinkListener-foo-bar&a=b&b=c"); + IRequestHandler handler = encoder.mapRequest(getRequest(url)); + + assertTrue(handler instanceof ListenerInterfaceRequestHandler); + + ListenerInterfaceRequestHandler h = (ListenerInterfaceRequestHandler)handler; + IRequestablePage page = h.getPage(); + checkPage(page, 1); + + assertEquals(ILinkListener.INTERFACE, h.getListenerInterface()); + assertEquals("foo:bar", h.getComponent().getPageRelativePath()); + assertNull(h.getBehaviorIndex()); + + PageParameters p = page.getPageParameters(); + assertEquals(2, p.getIndexedCount()); + + assertEquals(2, p.getNamedKeys().size()); + } + + /** * */ @Test @@ -413,7 +438,7 @@ public class MountedMapperTest extends AbstractMapperTest /** * https://issues.apache.org/jira/browse/WICKET-4014 - * + * * The difference with testEncode7 is that here ListenerInterfaceRequestHandler is used instead * of BookmarkableListenerInterfaceRequestHandler */ @@ -477,7 +502,7 @@ public class MountedMapperTest extends AbstractMapperTest /** * https://issues.apache.org/jira/browse/WICKET-4014 - * + * * The difference with testEncode7 is that here ListenerInterfaceRequestHandler is used instead * of BookmarkableListenerInterfaceRequestHandler */
