Author: ltheussl Date: Tue Oct 9 12:46:15 2007 New Revision: 583271 URL: http://svn.apache.org/viewvc?rev=583271&view=rev Log: Add tests for rendering of entities, comments, CDATA and javascript blocks.
Added: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/entityTest.xml (with props) maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/javascript.xml (with props) Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/pom.xml maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/site.xml Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/pom.xml URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/pom.xml?rev=583271&r1=583270&r2=583271&view=diff ============================================================================== --- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/pom.xml (original) +++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/pom.xml Tue Oct 9 12:46:15 2007 @@ -88,7 +88,7 @@ <dependency> <groupId>htmlunit</groupId> <artifactId>htmlunit</artifactId> - <version>1.9</version> + <version>1.13</version> <scope>test</scope> </dependency> <dependency> @@ -101,14 +101,12 @@ <dependency> <groupId>org.apache.maven.doxia</groupId> <artifactId>doxia-module-apt</artifactId> - </dependency> - <dependency> - <groupId>org.apache.maven.doxia</groupId> - <artifactId>doxia-module-fml</artifactId> + <scope>test</scope> </dependency> <dependency> <groupId>org.apache.maven.doxia</groupId> <artifactId>doxia-module-xdoc</artifactId> + <scope>test</scope> </dependency> <dependency> <groupId>org.apache.maven.doxia</groupId> Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java?rev=583271&r1=583270&r2=583271&view=diff ============================================================================== --- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java (original) +++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/java/org/apache/maven/doxia/siterenderer/DefaultSiteRendererTest.java Tue Oct 9 12:46:15 2007 @@ -19,6 +19,7 @@ * under the License. */ +import com.gargoylesoftware.htmlunit.CollectingAlertHandler; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.HtmlAnchor; import com.gargoylesoftware.htmlunit.html.HtmlDefinitionDescription; @@ -32,6 +33,8 @@ import com.gargoylesoftware.htmlunit.html.HtmlOrderedList; import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.html.HtmlParagraph; +import com.gargoylesoftware.htmlunit.html.HtmlPreformattedText; +import com.gargoylesoftware.htmlunit.html.HtmlScript; import com.gargoylesoftware.htmlunit.html.HtmlUnorderedList; import org.apache.maven.doxia.site.decoration.DecorationModel; import org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Reader; @@ -41,8 +44,11 @@ import java.io.File; import java.io.FileReader; +import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; +import java.util.List; import java.util.Map; /** @@ -112,6 +118,8 @@ verifyNestedItemsPage(); verifyMultipleBlock(); verifyMacro(); + verifyEntitiesPage(); + verifyJavascriptPage(); } /** @@ -157,7 +165,7 @@ HtmlHeader2 h2 = (HtmlHeader2) elementIterator.next(); assertNotNull( h2 ); - assertEquals( h2.asText(), "List Section" ); + assertEquals( h2.asText().trim(), "List Section" ); HtmlAnchor a = (HtmlAnchor) elementIterator.next(); assertNotNull( a ); @@ -172,84 +180,84 @@ HtmlHeader4 h4 = (HtmlHeader4) elementIterator.next(); assertNotNull( h4 ); - assertEquals( h4.asText(), "Unordered lists" ); + assertEquals( h4.asText().trim(), "Unordered lists" ); HtmlParagraph p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Below is an unordered list, followed by six paragraphs." ); + assertEquals( p.asText().trim(), "Below is an unordered list, followed by six paragraphs." ); HtmlUnorderedList ul = (HtmlUnorderedList) elementIterator.next(); assertNotNull( ul ); // TODO: how can this be? - //assertEquals( ul.getFirstChild().asText(), "" ); + //assertEquals( ul.getFirstChild().asText().trim(), "" ); HtmlListItem li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 1." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 1." ); ul = (HtmlUnorderedList) elementIterator.next(); assertNotNull( ul ); - //assertEquals( ul.getFirstChild().asText(), "" ); + //assertEquals( ul.getFirstChild().asText().trim(), "" ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); // No paragraph renderer - assertEquals( li.getFirstChild().asText(), "Item 11." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 11." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); // No paragraph renderer - assertEquals( li.getFirstChild().asText(), "Item 12." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 12." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 13." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 13." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 14." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 14." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 2." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 2." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 3." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 3." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 4." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 4." ); ul = (HtmlUnorderedList) elementIterator.next(); assertNotNull( ul ); - //assertEquals( ul.getFirstChild().asText(), "" ); + //assertEquals( ul.getFirstChild().asText().trim(), "" ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 41." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 41." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 42." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 42." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 43." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 43." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 44." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 44." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 1 below list." ); + assertEquals( p.asText().trim(), "Paragraph 1 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 2 below list." ); + assertEquals( p.asText().trim(), "Paragraph 2 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 3 below list." ); + assertEquals( p.asText().trim(), "Paragraph 3 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 4 below list." ); + assertEquals( p.asText().trim(), "Paragraph 4 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 5 below list." ); + assertEquals( p.asText().trim(), "Paragraph 5 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 6 below list." ); + assertEquals( p.asText().trim(), "Paragraph 6 below list." ); // ---------------------------------------------------------------------- // Ordered lists @@ -260,81 +268,81 @@ h4 = (HtmlHeader4) elementIterator.next(); assertNotNull( h4 ); - assertEquals( h4.asText(), "Ordered lists" ); + assertEquals( h4.asText().trim(), "Ordered lists" ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Below is an ordered list, followed by six paragraphs." ); + assertEquals( p.asText().trim(), "Below is an ordered list, followed by six paragraphs." ); HtmlOrderedList ol = (HtmlOrderedList) elementIterator.next(); assertNotNull( ol ); - //assertEquals( ol.getFirstChild().asText(), "" ); + //assertEquals( ol.getFirstChild().asText().trim(), "" ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 1." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 1." ); ol = (HtmlOrderedList) elementIterator.next(); assertNotNull( ol ); - //assertEquals( ol.getFirstChild().asText(), "" ); + //assertEquals( ol.getFirstChild().asText().trim(), "" ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 11." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 11." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 12." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 12." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 13." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 13." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 14." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 14." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 2." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 2." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 3." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 3." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 4." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 4." ); ol = (HtmlOrderedList) elementIterator.next(); assertNotNull( ol ); - //assertEquals( ol.getFirstChild().asText(), "" ); + //assertEquals( ol.getFirstChild().asText().trim(), "" ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 41." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 41." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 42." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 42." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 43." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 43." ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "Item 44." ); + assertEquals( li.getFirstChild().asText().trim(), "Item 44." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 1 below list." ); + assertEquals( p.asText().trim(), "Paragraph 1 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 2 below list." ); + assertEquals( p.asText().trim(), "Paragraph 2 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 3 below list." ); + assertEquals( p.asText().trim(), "Paragraph 3 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 4 below list." ); + assertEquals( p.asText().trim(), "Paragraph 4 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 5 below list." ); + assertEquals( p.asText().trim(), "Paragraph 5 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 6 below list." ); + assertEquals( p.asText().trim(), "Paragraph 6 below list." ); // ---------------------------------------------------------------------- // Definition lists @@ -345,58 +353,58 @@ h4 = (HtmlHeader4) elementIterator.next(); assertNotNull( h4 ); - assertEquals( h4.asText(), "Definition lists" ); + assertEquals( h4.asText().trim(), "Definition lists" ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Below is a definition list, followed by six paragraphs." ); + assertEquals( p.asText().trim(), "Below is a definition list, followed by six paragraphs." ); HtmlDefinitionList dl = (HtmlDefinitionList) elementIterator.next(); assertNotNull( dl ); - //assertEquals( dl.getFirstChild().asText(), "" ); + //assertEquals( dl.getFirstChild().asText().trim(), "" ); HtmlDefinitionTerm dt = (HtmlDefinitionTerm) elementIterator.next(); assertNotNull( dt ); - assertEquals( dt.getFirstChild().asText(), "Term 1." ); + assertEquals( dt.getFirstChild().asText().trim(), "Term 1." ); HtmlDefinitionDescription dd = (HtmlDefinitionDescription) elementIterator.next(); assertNotNull( dd ); - assertEquals( dd.getFirstChild().asText(), "Description 1." ); + assertEquals( dd.getFirstChild().asText().trim(), "Description 1." ); dt = (HtmlDefinitionTerm) elementIterator.next(); assertNotNull( dt ); - assertEquals( dt.getFirstChild().asText(), "Term 2." ); + assertEquals( dt.getFirstChild().asText().trim(), "Term 2." ); dd = (HtmlDefinitionDescription) elementIterator.next(); assertNotNull( dd ); - assertEquals( dd.getFirstChild().asText(), "Description 2." ); + assertEquals( dd.getFirstChild().asText().trim(), "Description 2." ); dl = (HtmlDefinitionList) elementIterator.next(); assertNotNull( dl ); - //assertEquals( dl.getFirstChild().asText(), "" ); + //assertEquals( dl.getFirstChild().asText().trim(), "" ); dt = (HtmlDefinitionTerm) elementIterator.next(); assertNotNull( dt ); - assertEquals( dt.getFirstChild().asText(), "Term 21." ); + assertEquals( dt.getFirstChild().asText().trim(), "Term 21." ); dd = (HtmlDefinitionDescription) elementIterator.next(); assertNotNull( dd ); - assertEquals( dd.getFirstChild().asText(), "Description 21." ); + assertEquals( dd.getFirstChild().asText().trim(), "Description 21." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 1 below list." ); + assertEquals( p.asText().trim(), "Paragraph 1 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 2 below list." ); + assertEquals( p.asText().trim(), "Paragraph 2 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 3 below list." ); + assertEquals( p.asText().trim(), "Paragraph 3 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 4 below list." ); + assertEquals( p.asText().trim(), "Paragraph 4 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 5 below list." ); + assertEquals( p.asText().trim(), "Paragraph 5 below list." ); p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "Paragraph 6 below list." ); + assertEquals( p.asText().trim(), "Paragraph 6 below list." ); assertFalse( elementIterator.hasNext() ); } @@ -433,7 +441,7 @@ HtmlHeader2 h2 = (HtmlHeader2) elementIterator.next(); assertNotNull( h2 ); - assertEquals( h2.asText(), "section name" ); + assertEquals( h2.asText().trim(), "section name" ); HtmlAnchor a = (HtmlAnchor) elementIterator.next(); assertNotNull( a ); @@ -445,7 +453,7 @@ HtmlParagraph p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "text" ); + assertEquals( p.asText().trim(), "text" ); // ---------------------------------------------------------------------- // Unordered list @@ -453,11 +461,11 @@ HtmlUnorderedList ul = (HtmlUnorderedList) elementIterator.next(); assertNotNull( ul ); - //assertEquals( ul.getFirstChild().asText(), "" ); + //assertEquals( ul.getFirstChild().asText().trim(), "" ); HtmlListItem li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "list1" ); + assertEquals( li.getFirstChild().asText().trim(), "list1" ); // ---------------------------------------------------------------------- // Paragraph @@ -465,7 +473,7 @@ p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "text2" ); + assertEquals( p.asText().trim(), "text2" ); // ---------------------------------------------------------------------- // Unordered list @@ -473,11 +481,11 @@ ul = (HtmlUnorderedList) elementIterator.next(); assertNotNull( ul ); - //assertEquals( ul.getFirstChild().asText(), "" ); + //assertEquals( ul.getFirstChild().asText().trim(), "" ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "list1" ); + assertEquals( li.getFirstChild().asText().trim(), "list1" ); // ---------------------------------------------------------------------- // Paragraph @@ -485,7 +493,7 @@ p = (HtmlParagraph) elementIterator.next(); assertNotNull( p ); - assertEquals( p.asText(), "text3" ); + assertEquals( p.asText().trim(), "text3" ); // ---------------------------------------------------------------------- // Unordered list @@ -493,11 +501,11 @@ ul = (HtmlUnorderedList) elementIterator.next(); assertNotNull( ul ); - //assertEquals( ul.getFirstChild().asText(), "" ); + //assertEquals( ul.getFirstChild().asText().trim(), "" ); li = (HtmlListItem) elementIterator.next(); assertNotNull( li ); - assertEquals( li.getFirstChild().asText(), "list1" ); + assertEquals( li.getFirstChild().asText().trim(), "list1" ); assertFalse( elementIterator.hasNext() ); } @@ -515,4 +523,138 @@ String content = IOUtil.toString( new FileReader( macro ) ); assertEquals( content.indexOf( "</macro>" ), -1 ); } + + /** + * @throws Exception + */ + public void verifyEntitiesPage() + throws Exception + { + File entityTest = getTestFile( "target/output/entityTest.html" ); + assertNotNull( entityTest ); + assertTrue( entityTest.exists() ); + + // HtmlUnit + WebClient webClient = new WebClient(); + HtmlPage page = (HtmlPage) webClient.getPage( entityTest.toURL() ); + assertNotNull( page ); + + HtmlElement element = page.getHtmlElementById( "contentBox" ); + assertNotNull( element ); + HtmlDivision division = (HtmlDivision) element; + assertNotNull( division ); + + Iterator elementIterator = division.getAllHtmlChildElements(); + + // ---------------------------------------------------------------------- + // + // ---------------------------------------------------------------------- + + HtmlDivision div = (HtmlDivision) elementIterator.next(); + assertNotNull( div ); + assertEquals( div.getAttributeValue( "class" ), "section" ); + + HtmlHeader2 h2 = (HtmlHeader2) elementIterator.next(); + assertNotNull( h2 ); + assertEquals( h2.asText().trim(), "section name" ); + + HtmlAnchor a = (HtmlAnchor) elementIterator.next(); + assertNotNull( a ); + assertEquals( a.getAttributeValue( "name" ), "section_name" ); + + div = (HtmlDivision) elementIterator.next(); + assertNotNull( div ); + assertEquals( div.getAttributeValue( "class" ), "section" ); + + HtmlHeader4 h4 = (HtmlHeader4) elementIterator.next(); + assertNotNull( h4 ); + assertEquals( h4.asText().trim(), "Entities" ); + + HtmlParagraph p = (HtmlParagraph) elementIterator.next(); + assertNotNull( p ); + // TODO: space is not correct? + //assertEquals( p.asText().trim(), "'&' '<' '>' '\"' ''' ' '" ); + + div = (HtmlDivision) elementIterator.next(); + assertNotNull( div ); + assertEquals( div.getAttributeValue( "class" ), "section" ); + + h4 = (HtmlHeader4) elementIterator.next(); + assertNotNull( h4 ); + assertEquals( h4.asText().trim(), "Comment" ); + + div = (HtmlDivision) elementIterator.next(); + assertNotNull( div ); + assertEquals( div.getAttributeValue( "class" ), "section" ); + + h4 = (HtmlHeader4) elementIterator.next(); + assertNotNull( h4 ); + assertEquals( h4.asText().trim(), "CDATA" ); + + div = (HtmlDivision) elementIterator.next(); + assertNotNull( div ); + assertEquals( div.getAttributeValue( "class" ), "source" ); + + HtmlPreformattedText pre = (HtmlPreformattedText) elementIterator.next(); + assertNotNull( pre ); + assertEquals( pre.asText().trim(), "<project xmlns:ant=\"jelly:ant\">" ); + + assertFalse( elementIterator.hasNext() ); + } + + /** + * @throws Exception + */ + public void verifyJavascriptPage() + throws Exception + { + File jsTest = getTestFile( "target/output/javascript.html" ); + assertNotNull( jsTest ); + assertTrue( jsTest.exists() ); + + // HtmlUnit + WebClient webClient = new WebClient(); + + final List collectedAlerts = new ArrayList(); + webClient.setAlertHandler( new CollectingAlertHandler( collectedAlerts ) ); + + HtmlPage page = (HtmlPage) webClient.getPage( jsTest.toURL() ); + assertNotNull( page ); + + HtmlElement element = page.getHtmlElementById( "contentBox" ); + assertNotNull( element ); + HtmlDivision division = (HtmlDivision) element; + assertNotNull( division ); + + Iterator elementIterator = division.getAllHtmlChildElements(); + + // ---------------------------------------------------------------------- + // + // ---------------------------------------------------------------------- + + HtmlDivision div = (HtmlDivision) elementIterator.next(); + assertNotNull( div ); + assertEquals( div.getAttributeValue( "class" ), "section" ); + + HtmlHeader2 h2 = (HtmlHeader2) elementIterator.next(); + assertNotNull( h2 ); + assertEquals( h2.asText().trim(), "Test" ); + + HtmlAnchor a = (HtmlAnchor) elementIterator.next(); + assertNotNull( a ); + assertEquals( a.getAttributeValue( "name" ), "Test" ); + + HtmlParagraph p = (HtmlParagraph) elementIterator.next(); + assertNotNull( p ); + assertEquals( p.asText().trim(), "You should see a JavaScript alert..." ); + + HtmlScript script = (HtmlScript) elementIterator.next(); + assertNotNull( script ); + assertEquals( script.getAttributeValue( "type" ), "text/javascript" ); + assertEquals( script.asText().trim(), "" ); + final List expectedAlerts = Collections.singletonList( "Hello!" ); + assertEquals( expectedAlerts, collectedAlerts ); + + } + } Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/site.xml URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/site.xml?rev=583271&r1=583270&r2=583271&view=diff ============================================================================== --- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/site.xml (original) +++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/site.xml Tue Oct 9 12:46:15 2007 @@ -36,6 +36,8 @@ <menu name="Quick Links"> <item name="CDC" href="/cdc.html"/> <item name="nestedItems" href="/nestedItems.html"/> + <item name="entities, cdata, comment" href="/entityTest.html"/> + <item name="javascript alert" href="/javascript.html"/> </menu> </body> </project> Added: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/entityTest.xml URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/entityTest.xml?rev=583271&view=auto ============================================================================== --- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/entityTest.xml (added) +++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/entityTest.xml Tue Oct 9 12:46:15 2007 @@ -0,0 +1,44 @@ +<?xml version="1.0"?> +<!-- + 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. +--> + +<document> + + <properties> + <title>Test entities, cdatas and comments</title> + </properties> + + <body> + + <section name="section name"> + + <h4>Entities</h4> + <p>'&' '<' '>' '"' ''' ' '</p> + + <h4>Comment</h4> + <!-- a comment and nothing else! --> + + <h4>CDATA</h4> + <source><![CDATA[<project xmlns:ant="jelly:ant">]]></source> + + </section> + + </body> + +</document> Propchange: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/entityTest.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/entityTest.xml ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/javascript.xml URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/javascript.xml?rev=583271&view=auto ============================================================================== --- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/javascript.xml (added) +++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/javascript.xml Tue Oct 9 12:46:15 2007 @@ -0,0 +1,23 @@ +<?xml version="1.0"?> + +<document> + + <properties> + <title>Hello</title> + </properties> + + <body> + + <section name="Test"> + + <p>You should see a JavaScript alert...</p> + + <script type="text/javascript"> + <![CDATA[alert("Hello!");]]> + </script> + + </section> + + </body> + +</document> \ No newline at end of file Propchange: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/javascript.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/test/site/xdoc/javascript.xml ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision"