Author: vsiveton
Date: Fri May 29 13:40:51 2009
New Revision: 779968

URL: http://svn.apache.org/viewvc?rev=779968&view=rev
Log:
o validate the rendering pages

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

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=779968&r1=779967&r2=779968&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/pom.xml (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/pom.xml Fri May 29 
13:40:51 2009
@@ -139,5 +139,14 @@
       <artifactId>commons-collections</artifactId>
       <version>3.2</version>
     </dependency>
+
+    <!-- test -->
+    <dependency>
+      <groupId>org.apache.maven.doxia</groupId>
+      <artifactId>doxia-core</artifactId>
+      <version>${project.version}</version>
+      <type>test-jar</type>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>

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=779968&r1=779967&r2=779968&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
 Fri May 29 13:40:51 2009
@@ -22,19 +22,24 @@
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.FileReader;
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.Reader;
 import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 
 import org.apache.maven.doxia.site.decoration.DecorationModel;
 import org.apache.maven.doxia.site.decoration.io.xpp3.DecorationXpp3Reader;
+import org.apache.maven.doxia.xsd.AbstractXmlValidatorTest;
 
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.ReaderFactory;
+import org.codehaus.plexus.util.StringUtils;
 
 
 /**
@@ -135,6 +140,11 @@
         verifyMisc();
         verifyDocbookPageExists();
         verifyApt();
+
+        // 
----------------------------------------------------------------------
+        // Validate the rendering pages
+        // 
----------------------------------------------------------------------
+        validatePages();
     }
 
     /**
@@ -270,4 +280,82 @@
         AptVerifier verifier = new AptVerifier();
         verifier.verify( "target/output/apt.html" );
     }
+
+    /**
+     * Validate the generated pages.
+     *
+     * @throws Exception if something goes wrong.
+     * @since 1.1.1
+     */
+    public void validatePages() throws Exception
+    {
+        // Need to refactor...
+        XhtmlValidatorTest validator = new XhtmlValidatorTest();
+        validator.setUp();
+        validator.testValidateFiles();
+    }
+
+    protected static class XhtmlValidatorTest
+        extends AbstractXmlValidatorTest
+    {
+        /** {...@inheritdoc} */
+        protected void setUp()
+            throws Exception
+        {
+            super.setUp();
+        }
+
+        /** {...@inheritdoc} */
+        protected void tearDown()
+            throws Exception
+        {
+            super.tearDown();
+        }
+
+        /** {...@inheritdoc} */
+        protected String[] getIncludes()
+        {
+            return new String[] { "**/*.html" };
+        }
+
+        /** {...@inheritdoc} */
+        protected String addNamespaces( String content )
+        {
+            return content;
+        }
+
+        /** {...@inheritdoc} */
+        protected Map getTestDocuments()
+            throws IOException
+        {
+            Map testDocs = new HashMap();
+
+            File dir = new File( getBasedir(), "target/output" );
+
+            List l = FileUtils.getFileNames( dir, getIncludes()[0], 
FileUtils.getDefaultExcludesAsString(), true );
+            for ( Iterator it = l.iterator(); it.hasNext(); )
+            {
+                String file = it.next().toString();
+                file = StringUtils.replace( file, "\\", "/" );
+
+                Reader reader = ReaderFactory.newXmlReader( new File( file ) );
+                try
+                {
+                    testDocs.put( file, IOUtil.toString( reader ) );
+                }
+                finally
+                {
+                    IOUtil.close( reader );
+                }
+            }
+
+            return testDocs;
+        }
+
+        /** {...@inheritdoc} */
+        protected boolean isFailErrorMessage( String message )
+        {
+            return true;
+        }
+    }
 }


Reply via email to