Author: mgrigorov Date: Tue Jan 11 15:23:25 2011 New Revision: 1057690 URL: http://svn.apache.org/viewvc?rev=1057690&view=rev Log: WICKET-3126 Add a test for HomePageMapper
Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/CustomHomePageTest.java (with props) Added: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/CustomHomePageTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/CustomHomePageTest.java?rev=1057690&view=auto ============================================================================== --- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/CustomHomePageTest.java (added) +++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/CustomHomePageTest.java Tue Jan 11 15:23:25 2011 @@ -0,0 +1,87 @@ +/* + * 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.Application; +import org.apache.wicket.protocol.http.WebApplication; +import org.apache.wicket.protocol.http.mock.MockHttpServletRequest; +import org.apache.wicket.resource.DummyApplication; +import org.apache.wicket.util.tester.DummyHomePage; +import org.apache.wicket.util.tester.WicketTester; +import org.junit.Test; + +/** + * A test case for <a href="https://issues.apache.org/jira/browse/WICKET-3126">WICKET-3126</a> + */ +public class CustomHomePageTest +{ + + /** + * Tests no custom home page. The home page is get from {...@link Application#getHomePage()} + */ + @Test + public void defaultHomePage() + { + final WebApplication dummyApplication = new DummyApplication(); + final WicketTester tester = new WicketTester(dummyApplication); + + requestHomePage(tester); + + tester.assertRenderedPage(dummyApplication.getHomePage()); + } + + /** + * Tests mounting of a custom home page via {...@link WebApplication#mountPage(String, Class)} + */ + @Test + public void customHomePage() + { + final WebApplication dummyApplication = new DummyApplication() + { + /** + * @see org.apache.wicket.protocol.http.WebApplication#init() + */ + @Override + protected void init() + { + super.init(); + + // the following two lines do identical things + // getRootRequestMapperAsCompound().add(new HomePageMapper(CustomHomePage.class)); + mountPage("/", CustomHomePage.class); + } + }; + final WicketTester tester = new WicketTester(dummyApplication); + + requestHomePage(tester); + + tester.assertRenderedPage(CustomHomePage.class); + } + + private void requestHomePage(final WicketTester tester) + { + MockHttpServletRequest request = tester.getRequest(); + String contextPath = request.getContextPath(); + String filterPrefix = request.getFilterPrefix(); + tester.executeUrl(contextPath + "/" + filterPrefix + "/"); + } + + /***/ + public static class CustomHomePage extends DummyHomePage + { + } +} Propchange: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/request/mapper/CustomHomePageTest.java ------------------------------------------------------------------------------ svn:eol-style = native