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

Reply via email to