Author: dkulp Date: Fri Mar 16 09:07:47 2007 New Revision: 519029 URL: http://svn.apache.org/viewvc?view=rev&rev=519029 Log: Add testcase for URL resolving
Modified: maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdReportTest.java Modified: maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java?view=diff&rev=519029&r1=519028&r2=519029 ============================================================================== --- maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java (original) +++ maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java Fri Mar 16 09:07:47 2007 @@ -129,6 +129,11 @@ return getBundle( locale ).getString( "report.pmd.description" ); } + public void setRulesets( String[] rules ) + { + rulesets = rules; + } + /** @see org.apache.maven.reporting.AbstractMavenReport#executeReport(java.util.Locale) */ public void executeReport( Locale locale ) throws MavenReportException Modified: maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdReportTest.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdReportTest.java?view=diff&rev=519029&r1=519028&r2=519029 ============================================================================== --- maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdReportTest.java (original) +++ maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdReportTest.java Fri Mar 16 09:07:47 2007 @@ -26,6 +26,7 @@ import java.io.File; import java.io.FileReader; import java.io.IOException; +import java.net.URL; /** * @author <a href="mailto:[EMAIL PROTECTED]">Maria Odea Ching</a> @@ -39,7 +40,7 @@ super.setUp(); FileUtils.deleteDirectory( new File( getBasedir(), "target/test/unit" ) ); } - + public void testDefaultConfiguration() throws Exception { @@ -78,6 +79,51 @@ assertTrue( str.indexOf( "/xref/def/configuration/AppSample.html#45" ) != -1 ); } + + public void testFileURL() + throws Exception + { + FileUtils.copyDirectoryStructure( + new File( getBasedir(), "src/test/resources/unit/default-configuration/jxr-files" ), + new File( getBasedir(), "target/test/unit/default-configuration/target/site" ) ); + + File testPom = new File( getBasedir(), + "src/test/resources/unit/default-configuration/default-configuration-plugin-config.xml" ); + PmdReport mojo = (PmdReport) lookupMojo( "pmd", testPom ); + + URL url = getClass().getClassLoader().getResource( "rulesets/basic.xml" ); + URL url2 = getClass().getClassLoader().getResource( "rulesets/unusedcode.xml" ); + URL url3 = getClass().getClassLoader().getResource( "rulesets/imports.xml" ); + mojo.setRulesets( new String[] { url.toString(), url2.toString() , url3.toString() } ); + + mojo.execute(); + + //check if the PMD files were generated + File generatedFile = new File( getBasedir(), "target/test/unit/default-configuration/target/pmd.xml" ); + assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) ); + + generatedFile = new File( getBasedir(), "target/test/unit/default-configuration/target/basic.xml" ); + assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) ); + + generatedFile = new File( getBasedir(), "target/test/unit/default-configuration/target/imports.xml" ); + assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) ); + + generatedFile = new File( getBasedir(), "target/test/unit/default-configuration/target/unusedcode.xml" ); + assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) ); + + generatedFile = new File( getBasedir(), "target/test/unit/default-configuration/target/site/pmd.html" ); + assertTrue( FileUtils.fileExists( generatedFile.getAbsolutePath() ) ); + + //check if there's a link to the JXR files + String str = + readFile( new File( getBasedir(), "target/test/unit/default-configuration/target/site/pmd.html" ) ); + + + assertTrue( str.indexOf( "/xref/def/configuration/App.html#31" ) != -1 ); + + assertTrue( str.indexOf( "/xref/def/configuration/AppSample.html#45" ) != -1 ); + } + /** * With custom rulesets * @@ -159,11 +205,7 @@ } } - protected void tearDown() - throws Exception - { - } /** * Read the contents of the specified file object into a string