Updated Branches:
  refs/heads/wicket-1.5.x d779109a3 -> 3ed04d05c

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/3ed04d05
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/3ed04d05
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/3ed04d05

Branch: refs/heads/wicket-1.5.x
Commit: 3ed04d05c11639c17bc610459ce45badcfc62d0d
Parents: d779109
Author: svenmeier <svenme...@apache.org>
Authored: Tue Mar 5 10:47:35 2013 +0100
Committer: svenmeier <svenme...@apache.org>
Committed: Tue Mar 5 10:47:35 2013 +0100

----------------------------------------------------------------------
 .../request/mapper/AbstractBookmarkableMapper.java |    9 ++++-
 .../wicket/request/mapper/MountedMapperTest.java   |   25 +++++++++++++++
 2 files changed, 32 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/3ed04d05/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java
 
b/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java
index d5d358d..a643671 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/request/mapper/AbstractBookmarkableMapper.java
@@ -234,9 +234,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/3ed04d05/wicket-core/src/test/java/org/apache/wicket/request/mapper/MountedMapperTest.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/request/mapper/MountedMapperTest.java
 
b/wicket-core/src/test/java/org/apache/wicket/request/mapper/MountedMapperTest.java
index 3f0df87..31712a9 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/request/mapper/MountedMapperTest.java
+++ 
b/wicket-core/src/test/java/org/apache/wicket/request/mapper/MountedMapperTest.java
@@ -289,6 +289,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
        public void encode1()
        {
                PageProvider provider = new PageProvider(MockPage.class, new 
PageParameters());

Reply via email to