/* * 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()); tester.destroy(); } /** * 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); tester.destroy(); } 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 { private static final long serialVersionUID = 1L; } }