You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2010/09/21 17:33:57 UTC

svn commit: r999466 - in /wicket/trunk/wicket/src: main/java/org/apache/wicket/request/mapper/HomePageMapper.java test/java/org/apache/wicket/request/mapper/HomePageMapperTest.java

Author: mgrigorov
Date: Tue Sep 21 15:33:57 2010
New Revision: 999466

URL: http://svn.apache.org/viewvc?rev=999466&view=rev
Log:
WICKET-3065 HomePageMapper ignores request to '/' with query string parameters

Add unit tests for :
- /
- /?name=value


Added:
    wicket/trunk/wicket/src/test/java/org/apache/wicket/request/mapper/HomePageMapperTest.java   (with props)
Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/request/mapper/HomePageMapper.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/mapper/HomePageMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/mapper/HomePageMapper.java?rev=999466&r1=999465&r2=999466&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/mapper/HomePageMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/mapper/HomePageMapper.java Tue Sep 21 15:33:57 2010
@@ -87,6 +87,7 @@ public class HomePageMapper extends Abst
 			{
 				pageProvider = new PageProvider(homePageClass);
 			}
+			pageProvider.setPageSource(getContext());
 
 			return new RenderPageRequestHandler(pageProvider);
 		}

Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/request/mapper/HomePageMapperTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/request/mapper/HomePageMapperTest.java?rev=999466&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/request/mapper/HomePageMapperTest.java (added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/request/mapper/HomePageMapperTest.java Tue Sep 21 15:33:57 2010
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.request.mapper;
+
+import org.apache.wicket.request.IRequestHandler;
+import org.apache.wicket.request.Request;
+import org.apache.wicket.request.Url;
+import org.apache.wicket.request.component.IRequestablePage;
+import org.apache.wicket.request.handler.RenderPageRequestHandler;
+import org.junit.Test;
+
+
+/**
+ * Tests for {@link HomePageMapper}
+ */
+public class HomePageMapperTest extends AbstractMapperTest
+{
+
+	private final HomePageMapper encoder = new HomePageMapper()
+	{
+		@Override
+		protected IMapperContext getContext()
+		{
+			return context;
+		}
+	};
+
+	/**
+	 * Tests requests to '/' without query parameters
+	 */
+	@Test
+	public void testNoSegmentsNoQueryParameters()
+	{
+		Url url = new Url();
+		Request request = getRequest(url);
+
+		IRequestHandler handler = encoder.mapRequest(request);
+
+		assertTrue(handler instanceof RenderPageRequestHandler);
+		IRequestablePage page = ((RenderPageRequestHandler)handler).getPage();
+
+		assertEquals(context.getHomePageClass(), page.getClass());
+
+		assertTrue(page.getPageParameters().isEmpty());
+	}
+
+	/**
+	 * Tests requests to '/' with query parameters
+	 */
+	@Test
+	public void testWithQueryParameters()
+	{
+		Url url = Url.parse("?name=value");
+		Request request = getRequest(url);
+
+		IRequestHandler handler = encoder.mapRequest(request);
+
+		assertTrue(handler instanceof RenderPageRequestHandler);
+		IRequestablePage page = ((RenderPageRequestHandler)handler).getPage();
+
+		assertEquals(context.getHomePageClass(), page.getClass());
+
+		assertEquals("value", page.getPageParameters().get("name").toString());
+	}
+}

Propchange: wicket/trunk/wicket/src/test/java/org/apache/wicket/request/mapper/HomePageMapperTest.java
------------------------------------------------------------------------------
    svn:eol-style = native