/* * 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.markup.html.basic; import org.apache.wicket.markup.MarkupException; import org.apache.wicket.markup.MarkupNotFoundException; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.border.Border; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.util.tester.WicketTestCase; import org.apache.wicket.util.value.ValueMap; import org.junit.Test; /** * Simple application that demonstrates the mock http application code (and checks that it is * working) * * @author Chris Turner */ public class SimplePageTest extends WicketTestCase { /** * @throws Exception */ @Test public void renderHomePage() throws Exception { executeTest(SimplePage.class, "SimplePageExpectedResult.html"); } /** * @throws Exception */ @Test public void renderHomePage_2() throws Exception { executeTest(SimplePage.class, "SimplePageExpectedResult.html"); String document = tester.getLastResponseAsString(); Label label = (Label)tester.getLastRenderedPage().get("myLabel"); assertNotNull(label); assertTrue(document.contains("<span wicket:id=\"myLabel\">Test Label</span>")); Panel panel = (Panel)tester.getLastRenderedPage().get("myPanel"); assertNotNull(panel); assertTrue(document.contains("<wicket:panel>Inside the panel<span wicket:id=\"label\">mein Label</span></wicket:panel>")); label = (Label)tester.getLastRenderedPage().get("myPanel:label"); assertNotNull(label); assertFalse("".equals(document)); assertTrue(document.contains("<span wicket:id=\"label\">mein Label</span>")); Border border = (Border)tester.getLastRenderedPage().get("myBorder"); assertNotNull(border); assertFalse("".equals(document)); assertTrue(document.contains("<wicket:border>before body - <wicket:body>border</wicket:body> - after body</wicket:border>")); border = (Border)tester.getLastRenderedPage().get("myBorder2"); assertNotNull(border); assertFalse("".equals(document)); assertTrue(document.contains("<span wicket:id=\"myBorder2\" testAttr=\"myValue\"><wicket:border>before body - <wicket:body>border</wicket:body> - after body</wicket:border></span>")); // do the same test twice. Igor reported a problem with that, so we have to test it. border = (Border)tester.getLastRenderedPage().get("myBorder2"); assertNotNull(border); assertFalse("".equals(document)); assertTrue(document.contains("<span wicket:id=\"myBorder2\" testAttr=\"myValue\"><wicket:border>before body - <wicket:body>border</wicket:body> - after body</wicket:border></span>")); WebMarkupContainer container = (WebMarkupContainer)tester.getLastRenderedPage().get("test"); assertNotNull(container); assertFalse("".equals(document)); assertTrue(document.contains("body<span wicket:id=\"myLabel2\">Test Label2</span>")); label = (Label)tester.getLastRenderedPage().get("test:myLabel2"); assertNotNull(label); assertFalse("".equals(document)); assertTrue(document.contains("<span wicket:id=\"myLabel2\">Test Label2</span>")); } /** * @throws Exception */ @Test public void renderHomePage_2a() throws Exception { // Render the component without having rendered the page previously SimplePage page = new SimplePage(); tester.startPage(page); String document = tester.getLastResponseAsString(); Label label = (Label)page.get("myLabel"); assertNotNull(label); assertTrue(document.contains("<span wicket:id=\"myLabel\">Test Label</span>")); Panel panel = (Panel)page.get("myPanel"); assertNotNull(panel); assertTrue(document.contains("<wicket:panel>Inside the panel<span wicket:id=\"label\">mein Label</span></wicket:panel>")); label = (Label)page.get("myPanel:label"); assertNotNull(label); assertTrue(document.contains("<span wicket:id=\"label\">mein Label</span>")); Border border = (Border)page.get("myBorder"); assertNotNull(border); assertTrue(document.contains("<wicket:border>before body - <wicket:body>border</wicket:body> - after body</wicket:border>")); border = (Border)page.get("myBorder2"); assertNotNull(border); assertTrue(document.contains("<span wicket:id=\"myBorder2\" testAttr=\"myValue\"><wicket:border>before body - <wicket:body>border</wicket:body> - after body</wicket:border></span>")); // do the same test twice. Igor reported a problem with that, so we have to test it. border = (Border)page.get("myBorder2"); assertNotNull(border); assertTrue(document.contains("<span wicket:id=\"myBorder2\" testAttr=\"myValue\"><wicket:border>before body - <wicket:body>border</wicket:body> - after body</wicket:border></span>")); WebMarkupContainer container = (WebMarkupContainer)page.get("test"); assertNotNull(container); assertTrue(document.contains("body<span wicket:id=\"myLabel2\">Test Label2</span>")); label = (Label)page.get("test:myLabel2"); assertNotNull(label); assertTrue(document.contains("<span wicket:id=\"myLabel2\">Test Label2</span>")); } /** * @throws Exception */ @Test public void renderHomePage_2b() throws Exception { // Render the component without having rendered the page previously SimplePage page = new SimplePage(); Label label = (Label)page.get("myLabel"); assertNotNull(label); ValueMap attr = label.getMarkupAttributes(); assertNotNull(attr); assertEquals("myLabel", attr.getString("wicket:id")); Panel panel = (Panel)page.get("myPanel"); assertNotNull(panel); attr = panel.getMarkupAttributes(); assertNotNull(attr); assertEquals("myPanel", attr.getString("wicket:id")); label = (Label)page.get("myPanel:label"); assertNotNull(label); attr = label.getMarkupAttributes(); assertNotNull(attr); assertEquals("label", attr.getString("wicket:id")); Border border = (Border)page.get("myBorder"); assertNotNull(border); attr = border.getMarkupAttributes(); assertNotNull(attr); assertEquals("myBorder", attr.getString("wicket:id")); border = (Border)page.get("myBorder2"); assertNotNull(border); attr = border.getMarkupAttributes(); assertNotNull(attr); assertEquals("myBorder2", attr.getString("wicket:id")); // do the same test twice. Igor reported a problem with that, so we have to test it. border = (Border)page.get("myBorder2"); assertNotNull(border); attr = border.getMarkupAttributes(); assertNotNull(attr); assertEquals("myBorder2", attr.getString("wicket:id")); WebMarkupContainer container = (WebMarkupContainer)page.get("test"); assertNotNull(container); attr = container.getMarkupAttributes(); assertNotNull(attr); assertEquals("test", attr.getString("wicket:id")); label = (Label)page.get("test:myLabel2"); assertNotNull(label); attr = label.getMarkupAttributes(); assertNotNull(attr); assertEquals("myLabel2", attr.getString("wicket:id")); } /** * @throws Exception */ @Test public void renderHomePage_3() throws Exception { executeTest(SimplePage_3.class, "SimplePageExpectedResult_3.html"); } /** * @throws Exception */ @Test public void renderHomePage_4() throws Exception { boolean hit = false; try { executeTest(SimplePage_4.class, "SimplePageExpectedResult_4.html"); } catch (MarkupException mex) { hit = true; assertNotNull(mex.getMarkupStream()); assertTrue(mex.getMessage().contains("<span>")); assertTrue(mex.toString().contains("SimplePage_4.html")); } assertTrue("Did expect a MarkupException", hit); } /** * @throws Exception */ @Test public void renderHomePage_5() throws Exception { boolean hit = false; try { executeTest(SimplePage_5.class, "SimplePageExpectedResult_5.html"); } catch (MarkupNotFoundException ex) { hit = true; } assertTrue("Did expect a MarkupNotFoundException", hit); } /** * @throws Exception */ @Test public void renderHomePage_6() throws Exception { boolean hit = false; try { executeTest(SimplePage_6.class, "SimplePageExpectedResult_6.html"); } catch (MarkupException ex) { hit = true; } assertTrue("Did expect a MarkupException", hit); } /** * @throws Exception */ @Test public void renderHomePage_7() throws Exception { tester.getApplication().getResourceSettings().setThrowExceptionOnMissingResource(false); // This is for issue https://issues.apache.org/jira/browse/WICKET-590 executeTest(SimplePage_7.class, "SimplePageExpectedResult_7.html"); } /** * @throws Exception */ @Test public void renderHomePage_8() throws Exception { boolean hit = false; try { executeTest(SimplePage_8.class, "SimplePageExpectedResult_8.html"); } catch (MarkupException ex) { hit = true; } assertTrue("Did expect a MarkupException", hit); } /** * @throws Exception */ @Test public void renderHomePage_9() throws Exception { executeTest(SimplePage_9.class, "SimplePageExpectedResult_9.html"); } /** * @throws Exception */ @Test public void renderHomePage_10() throws Exception { executeTest(new SimplePage_10(false), "SimplePageExpectedResult_10.html"); tester.startPage(new SimplePage_10(true)); String document = tester.getLastResponseAsString(); assertTrue(document.contains("<wicket:panel>Inside the panel<span wicket:id=\"label\">mein Label</span></wicket:panel>")); } /** * @throws Exception */ @Test public void renderHomePage_11() throws Exception { executeTest(SimplePage_11.class, "SimplePageExpectedResult_11.html"); } /** * @throws Exception */ @Test public void renderHomePage_12() throws Exception { executeTest(SimplePage_12.class, "SimplePageExpectedResult_12.html"); } /** * @throws Exception */ @Test public void renderHomePage_13() throws Exception { executeTest(SimplePage_13.class, "SimplePageExpectedResult_13.html"); } /** * @throws Exception */ @Test public void renderHomePage_14() throws Exception { executeTest(SimplePage_14.class, "SimplePageExpectedResult_14.html"); } /** * @throws Exception */ @Test public void renderHomePage_15() throws Exception { executeTest(SimplePage_15.class, "SimplePageExpectedResult_15.html"); } /** * @throws Exception */ @Test public void renderHomePage_16() throws Exception { executeTest(SimplePage_16.class, "SimplePageExpectedResult_16.html"); } }