You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2013/03/05 10:48:28 UTC
git commit: WICKET-4594 added test that stateless pages get page
parameters
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 <sv...@apache.org>
Authored: Tue Mar 5 10:46:13 2013 +0100
Committer: svenmeier <sv...@apache.org>
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
*/