You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by lt...@apache.org on 2007/10/09 21:46:16 UTC

svn commit: r583271 - in /maven/doxia/doxia-sitetools/trunk/doxia-site-renderer: ./ src/test/java/org/apache/maven/doxia/siterenderer/ src/test/site/ src/test/site/xdoc/

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>'&amp;' '&lt;' '&gt;' '&quot;' '&apos;' '&nbsp;'</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"