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
 	 */