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; + } + } }