forked from phoedos/pmd
Fix ant tests - PMDTaskTest is moved partly to java,
javascript and xml
This commit is contained in:
@ -0,0 +1,81 @@
|
|||||||
|
/**
|
||||||
|
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
|
||||||
|
*/
|
||||||
|
package net.sourceforge.pmd.ant;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class PMDTaskTest extends AbstractAntTestHelper {
|
||||||
|
|
||||||
|
public PMDTaskTest() {
|
||||||
|
super.antTestScriptFilename = "pmdtasktest.xml";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testNoFormattersValidation() {
|
||||||
|
executeTarget("testNoFormattersValidation");
|
||||||
|
assertOutputContaining("Fields should be declared at the top of the class");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testNestedRuleset() {
|
||||||
|
executeTarget("testNestedRuleset");
|
||||||
|
assertOutputContaining("Avoid really long methods");
|
||||||
|
assertOutputContaining("Fields should be declared at the");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFormatterWithProperties() {
|
||||||
|
executeTarget("testFormatterWithProperties");
|
||||||
|
assertOutputContaining("Avoid really long methods");
|
||||||
|
assertOutputContaining("Fields should be declared at the");
|
||||||
|
assertOutputContaining("link_prefix");
|
||||||
|
assertOutputContaining("line_prefix");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAbstractNames() {
|
||||||
|
executeTarget("testAbstractNames");
|
||||||
|
assertOutputContaining("Avoid really long methods");
|
||||||
|
assertOutputContaining("Fields should be declared at the");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAbstractNamesInNestedRuleset() {
|
||||||
|
executeTarget("testAbstractNamesInNestedRuleset");
|
||||||
|
assertOutputContaining("Avoid really long methods");
|
||||||
|
assertOutputContaining("Fields should be declared at the");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCommaInRulesetfiles() {
|
||||||
|
executeTarget("testCommaInRulesetfiles");
|
||||||
|
assertOutputContaining("Avoid really long methods");
|
||||||
|
assertOutputContaining("Fields should be declared at the");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRelativeRulesets() {
|
||||||
|
executeTarget("testRelativeRulesets");
|
||||||
|
assertOutputContaining("Avoid really long methods");
|
||||||
|
assertOutputContaining("Fields should be declared at the");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRelativeRulesetsInRulesetfiles() {
|
||||||
|
executeTarget("testRelativeRulesetsInRulesetfiles");
|
||||||
|
assertOutputContaining("Avoid really long methods");
|
||||||
|
assertOutputContaining("Fields should be declared at");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testExplicitRuleInRuleSet() {
|
||||||
|
executeTarget("testExplicitRuleInRuleSet");
|
||||||
|
assertOutputContaining("Avoid really long methods");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testClasspath() {
|
||||||
|
executeTarget("testClasspath");
|
||||||
|
}
|
||||||
|
}
|
110
pmd-java/src/test/resources/ant/java/PMDTaskTestExample.java
Normal file
110
pmd-java/src/test/resources/ant/java/PMDTaskTestExample.java
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
package ant.java;
|
||||||
|
|
||||||
|
public class PMDTaskTestExample {
|
||||||
|
|
||||||
|
// must be 100+ lines long
|
||||||
|
public void veryLongMethod() {
|
||||||
|
int a;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
a -= 1;
|
||||||
|
a += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int testField; // this will trigger a "Fields should be declared at top"
|
||||||
|
}
|
@ -0,0 +1,110 @@
|
|||||||
|
<project name="pmdtasktest" default="all">
|
||||||
|
|
||||||
|
<property name="pmd.home" value="${user.dir}"/>
|
||||||
|
|
||||||
|
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"/>
|
||||||
|
|
||||||
|
<target name="testNestedRuleset">
|
||||||
|
<pmd>
|
||||||
|
<ruleset>${pmd.home}/src/main/resources/rulesets/java/codesize.xml</ruleset>
|
||||||
|
<ruleset>${pmd.home}/src/main/resources/rulesets/java/design.xml</ruleset>
|
||||||
|
<formatter type="text" toConsole="true"/>
|
||||||
|
<fileset dir="${pmd.home}/src/test/resources/ant/java">
|
||||||
|
<include name="*.java"/>
|
||||||
|
</fileset>
|
||||||
|
</pmd>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="testFormatterWithProperties">
|
||||||
|
<pmd>
|
||||||
|
<ruleset>${pmd.home}/src/main/resources/rulesets/java/codesize.xml</ruleset>
|
||||||
|
<ruleset>${pmd.home}/src/main/resources/rulesets/java/design.xml</ruleset>
|
||||||
|
<formatter type="summaryhtml" toConsole="true">
|
||||||
|
<param name="linkPrefix" value="link_prefix"/>
|
||||||
|
<param name="linePrefix" value="line_prefix"/>
|
||||||
|
</formatter>
|
||||||
|
<fileset dir="${pmd.home}/src/test/resources/ant/java">
|
||||||
|
<include name="*.java"/>
|
||||||
|
</fileset>
|
||||||
|
</pmd>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="testAbstractNames">
|
||||||
|
<pmd rulesetfiles="java-codesize,java-design">
|
||||||
|
<formatter type="text" toConsole="true"/>
|
||||||
|
<fileset dir="${pmd.home}/src/test/resources/ant/java">
|
||||||
|
<include name="*.java"/>
|
||||||
|
</fileset>
|
||||||
|
</pmd>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="testAbstractNamesInNestedRuleset">
|
||||||
|
<pmd>
|
||||||
|
<ruleset>java-codesize</ruleset>
|
||||||
|
<ruleset>java-design</ruleset>
|
||||||
|
<formatter type="text" toConsole="true"/>
|
||||||
|
<fileset dir="${pmd.home}/src/test/resources/ant/java">
|
||||||
|
<include name="*.java"/>
|
||||||
|
</fileset>
|
||||||
|
</pmd>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="testCommaInRulesetfiles">
|
||||||
|
<pmd rulesetfiles="${pmd.home}/src/main/resources/rulesets/java/codesize.xml,${pmd.home}/src/main/resources/rulesets/java/design.xml">
|
||||||
|
<formatter type="text" toConsole="true"/>
|
||||||
|
<fileset dir="${pmd.home}/src/test/resources/ant/java">
|
||||||
|
<include name="*.java"/>
|
||||||
|
</fileset>
|
||||||
|
</pmd>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="testRelativeRulesets">
|
||||||
|
<pmd>
|
||||||
|
<ruleset>custom_ruleset.xml</ruleset>
|
||||||
|
<ruleset>rulesets/java/design.xml</ruleset>
|
||||||
|
<formatter type="text" toConsole="true"/>
|
||||||
|
<fileset dir="${pmd.home}/src/test/resources/ant/java">
|
||||||
|
<include name="*.java"/>
|
||||||
|
</fileset>
|
||||||
|
</pmd>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="testRelativeRulesetsInRulesetfiles">
|
||||||
|
<pmd rulesetfiles="custom_ruleset.xml,src/main/resources/rulesets/java/design.xml">
|
||||||
|
<formatter type="text" toConsole="true"/>
|
||||||
|
<fileset dir="${pmd.home}/src/test/resources/ant/java">
|
||||||
|
<include name="*.java"/>
|
||||||
|
</fileset>
|
||||||
|
</pmd>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="testNoFormattersValidation">
|
||||||
|
<pmd rulesetfiles="${pmd.home}/src/main/resources/rulesets/java/design.xml">
|
||||||
|
<fileset dir="${pmd.home}/src/test/resources/ant/java">
|
||||||
|
<include name="*.java"/>
|
||||||
|
</fileset>
|
||||||
|
</pmd>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="testExplicitRuleInRuleSet">
|
||||||
|
<pmd rulesetfiles="src/main/resources/rulesets/java/codesize.xml/ExcessiveMethodLength">
|
||||||
|
<formatter type="text" toConsole="true"/>
|
||||||
|
<fileset dir="${pmd.home}/src/test/resources/ant/java">
|
||||||
|
<include name="*.java"/>
|
||||||
|
</fileset>
|
||||||
|
</pmd>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="testClasspath">
|
||||||
|
<pmd>
|
||||||
|
<ruleset>classpathtest/ruleset.xml</ruleset>
|
||||||
|
<classpath>
|
||||||
|
<pathelement path="${pmd.home}/target/classes"/>
|
||||||
|
<pathelement path="${pmd.home}/target/test-classes"/>
|
||||||
|
<pathelement path="${pmd.home}/target/test-classes/net/sourceforge/pmd/ant"/>
|
||||||
|
<pathelement path="${pmd.home}/target/clover/test-classes"/>
|
||||||
|
<pathelement path="${pmd.home}/target/clover/test-classes/net/sourceforge/pmd/ant"/>
|
||||||
|
</classpath>
|
||||||
|
</pmd>
|
||||||
|
</target>
|
||||||
|
</project>
|
@ -0,0 +1,21 @@
|
|||||||
|
/**
|
||||||
|
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
|
||||||
|
*/
|
||||||
|
package net.sourceforge.pmd.ant;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class PMDTaskTest extends AbstractAntTestHelper {
|
||||||
|
|
||||||
|
public PMDTaskTest() {
|
||||||
|
super.antTestScriptFilename = "pmdtasktest.xml";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testEcmascript() {
|
||||||
|
executeTarget("testEcmascript");
|
||||||
|
assertOutputContaining("A 'return', 'break', 'continue', or 'throw' statement should be the last in a block.");
|
||||||
|
assertOutputContaining("Avoid using global variables");
|
||||||
|
assertOutputContaining("Use ===/!== to compare with true/false or Numbers");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
<project name="pmdtasktest" default="all">
|
||||||
|
|
||||||
|
<property name="pmd.home" value="${user.dir}" />
|
||||||
|
<property name="src" value="src/main/java" />
|
||||||
|
|
||||||
|
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" />
|
||||||
|
|
||||||
|
<target name="testEcmascript">
|
||||||
|
<pmd rulesetfiles="${pmd.home}/src/main/resources/rulesets/ecmascript/basic.xml">
|
||||||
|
<sourceLanguage name="ecmascript" version="3" />
|
||||||
|
<formatter type="text" toConsole="true" />
|
||||||
|
<fileset dir="${pmd.home}/src/test/resources/ant/ecmascript/">
|
||||||
|
<include name="*.js" />
|
||||||
|
</fileset>
|
||||||
|
</pmd>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
|
||||||
|
</project>
|
@ -20,5 +20,9 @@
|
|||||||
<groupId>junit</groupId>
|
<groupId>junit</groupId>
|
||||||
<artifactId>junit</artifactId>
|
<artifactId>junit</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.ant</groupId>
|
||||||
|
<artifactId>ant-testutil</artifactId>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
/**
|
||||||
|
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
|
||||||
|
*/
|
||||||
|
package net.sourceforge.pmd.ant;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class PMDTaskTest extends AbstractAntTestHelper {
|
||||||
|
|
||||||
|
public PMDTaskTest() {
|
||||||
|
super.antTestScriptFilename = "pmdtasktest.xml";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testXML() {
|
||||||
|
executeTarget("testXML");
|
||||||
|
assertOutputContaining("Potentialy mistyped CDATA section with extra [ at beginning or ] at the end.");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
<project name="pmdtasktest" default="all">
|
||||||
|
|
||||||
|
<property name="pmd.home" value="${user.dir}" />
|
||||||
|
<property name="src" value="src/main/java" />
|
||||||
|
|
||||||
|
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" />
|
||||||
|
|
||||||
|
<target name="testXML">
|
||||||
|
<pmd rulesetfiles="${pmd.home}/src/main/resources/rulesets/xml/basic.xml">
|
||||||
|
<sourceLanguage name="xml" version="" />
|
||||||
|
<formatter type="text" toConsole="true" />
|
||||||
|
<fileset dir="${pmd.home}/src/test/resources/ant/xml/">
|
||||||
|
<include name="*.xml" />
|
||||||
|
</fileset>
|
||||||
|
</pmd>
|
||||||
|
</target>
|
||||||
|
</project>
|
@ -1,20 +0,0 @@
|
|||||||
/**
|
|
||||||
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
|
|
||||||
*/
|
|
||||||
package net.sourceforge.pmd.ant;
|
|
||||||
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.junit.runners.Suite;
|
|
||||||
import org.junit.runners.Suite.SuiteClasses;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests for the net.sourceforge.pmd.ant package
|
|
||||||
*
|
|
||||||
* @author Boris Gruschko ( boris at gruschko.org )
|
|
||||||
*/
|
|
||||||
@RunWith(Suite.class)
|
|
||||||
@SuiteClasses({FormatterTest.class, PMDTaskTest.class, CPDTaskTest.class})
|
|
||||||
public class AntTests {
|
|
||||||
}
|
|
||||||
|
|
@ -5,6 +5,7 @@ package net.sourceforge.pmd.ant;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
|
import org.apache.tools.ant.BuildFileTest;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -12,18 +13,20 @@ import org.junit.Test;
|
|||||||
* @author Romain Pelisse <belaran@gmail.com>
|
* @author Romain Pelisse <belaran@gmail.com>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class CPDTaskTest extends AbstractAntTestHelper {
|
public class CPDTaskTest extends BuildFileTest {
|
||||||
|
|
||||||
public CPDTaskTest() {
|
@Override
|
||||||
super.antTestScriptFilename = "cpdtasktest.xml";
|
protected void setUp() throws Exception {
|
||||||
}
|
super.setUp();
|
||||||
|
configureProject("src/test/resources/net/sourceforge/pmd/ant/xml/cpdtasktest.xml");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testBasic() {
|
public void testBasic() {
|
||||||
executeTarget("testBasic");
|
executeTarget("testBasic");
|
||||||
// FIXME: This clearly needs to be improved - but I don't like to write test,
|
// FIXME: This clearly needs to be improved - but I don't like to write
|
||||||
// so feel free to contribute :)
|
// test,
|
||||||
|
// so feel free to contribute :)
|
||||||
assertTrue(new File("target/cpd.ant.tests").exists());
|
assertTrue(new File("target/cpd.ant.tests").exists());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,18 +3,15 @@
|
|||||||
*/
|
*/
|
||||||
package net.sourceforge.pmd.ant;
|
package net.sourceforge.pmd.ant;
|
||||||
|
|
||||||
|
import org.apache.tools.ant.BuildFileTest;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class PMDTaskTest extends AbstractAntTestHelper {
|
public class PMDTaskTest extends BuildFileTest {
|
||||||
|
|
||||||
public PMDTaskTest() {
|
@Override
|
||||||
super.antTestScriptFilename = "pmdtasktest.xml";
|
protected void setUp() throws Exception {
|
||||||
}
|
super.setUp();
|
||||||
|
configureProject("src/test/resources/net/sourceforge/pmd/ant/xml/pmdtasktest.xml");
|
||||||
@Test
|
|
||||||
public void testNoFormattersValidation() {
|
|
||||||
executeTarget("testNoFormattersValidation");
|
|
||||||
assertOutputContaining("Fields should be declared at the top of the class");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -27,57 +24,6 @@ public class PMDTaskTest extends AbstractAntTestHelper {
|
|||||||
expectBuildExceptionContaining("testNoRuleSets", "Valid Error Message", "No rulesets specified");
|
expectBuildExceptionContaining("testNoRuleSets", "Valid Error Message", "No rulesets specified");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testNestedRuleset() {
|
|
||||||
executeTarget("testNestedRuleset");
|
|
||||||
assertOutputContaining("Avoid really long methods");
|
|
||||||
assertOutputContaining("Fields should be declared at the");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testFormatterWithProperties() {
|
|
||||||
executeTarget("testFormatterWithProperties");
|
|
||||||
assertOutputContaining("Avoid really long methods");
|
|
||||||
assertOutputContaining("Fields should be declared at the");
|
|
||||||
assertOutputContaining("link_prefix");
|
|
||||||
assertOutputContaining("line_prefix");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testAbstractNames() {
|
|
||||||
executeTarget("testAbstractNames");
|
|
||||||
assertOutputContaining("Avoid really long methods");
|
|
||||||
assertOutputContaining("Fields should be declared at the");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testAbstractNamesInNestedRuleset() {
|
|
||||||
executeTarget("testAbstractNamesInNestedRuleset");
|
|
||||||
assertOutputContaining("Avoid really long methods");
|
|
||||||
assertOutputContaining("Fields should be declared at the");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testCommaInRulesetfiles() {
|
|
||||||
executeTarget("testCommaInRulesetfiles");
|
|
||||||
assertOutputContaining("Avoid really long methods");
|
|
||||||
assertOutputContaining("Fields should be declared at the");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testRelativeRulesets() {
|
|
||||||
executeTarget("testRelativeRulesets");
|
|
||||||
assertOutputContaining("Avoid really long methods");
|
|
||||||
assertOutputContaining("Fields should be declared at the");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testRelativeRulesetsInRulesetfiles() {
|
|
||||||
executeTarget("testRelativeRulesetsInRulesetfiles");
|
|
||||||
assertOutputContaining("Avoid really long methods");
|
|
||||||
assertOutputContaining("Fields should be declared at");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testBasic() {
|
public void testBasic() {
|
||||||
executeTarget("testBasic");
|
executeTarget("testBasic");
|
||||||
@ -87,33 +33,4 @@ public class PMDTaskTest extends AbstractAntTestHelper {
|
|||||||
public void testInvalidLanguageVersion() {
|
public void testInvalidLanguageVersion() {
|
||||||
expectBuildExceptionContaining("testInvalidLanguageVersion", "Fail requested.", "The following language is not supported:<language name=\"java\" version=\"42\" />.");
|
expectBuildExceptionContaining("testInvalidLanguageVersion", "Fail requested.", "The following language is not supported:<language name=\"java\" version=\"42\" />.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testExplicitRuleInRuleSet() {
|
|
||||||
executeTarget("testExplicitRuleInRuleSet");
|
|
||||||
assertOutputContaining("Avoid really long methods");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testEcmascript() {
|
|
||||||
executeTarget("testEcmascript");
|
|
||||||
assertOutputContaining("A 'return', 'break', 'continue', or 'throw' statement should be the last in a block.");
|
|
||||||
assertOutputContaining("Avoid using global variables");
|
|
||||||
assertOutputContaining("Use ===/!== to compare with true/false or Numbers");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testXML() {
|
|
||||||
executeTarget("testXML");
|
|
||||||
assertOutputContaining("Potentialy mistyped CDATA section with extra [ at beginning or ] at the end.");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testClasspath() {
|
|
||||||
executeTarget("testClasspath");
|
|
||||||
}
|
|
||||||
|
|
||||||
public static junit.framework.Test suite() {
|
|
||||||
return new junit.framework.JUnit4TestAdapter(PMDTaskTest.class);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,153 +1,27 @@
|
|||||||
<project name="pmdtasktest" default="all">
|
<project name="pmdtasktest" default="all">
|
||||||
|
|
||||||
<property name="pmd.home" value="${user.dir}"/>
|
<property name="pmd.home" value="${user.dir}" />
|
||||||
<property name="src" value="src/main/java"/>
|
<property name="src" value="src/main/java" />
|
||||||
|
|
||||||
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"/>
|
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" />
|
||||||
|
|
||||||
<target name="all" depends="testBasic, testInvalidLanguageVersion, testFormatterWithNoToFileAttribute, testNoRuleSets, testNestedRuleset, testFormatterWithProperties, testCommaInRulesetfiles, testRelativeRulesets, testRelativeRulesetsInRulesetfiles, testNoFormattersValidation"/>
|
<target name="testBasic">
|
||||||
|
<pmd rulesetfiles="${pmd.home}/src/test/resources/rulesets/dummy/basic.xml" />
|
||||||
|
</target>
|
||||||
|
|
||||||
<target name="testBasic">
|
<target name="testInvalidLanguageVersion">
|
||||||
<pmd rulesetfiles="${pmd.home}/src/main/resources/rulesets/java/basic.xml"/>
|
<pmd rulesetfiles="${pmd.home}/src/test/resources/rulesets/dummy/basic.xml">
|
||||||
</target>
|
<sourceLanguage name="java" version="42" />
|
||||||
|
|
||||||
<target name="testInvalidLanguageVersion">
|
|
||||||
<pmd rulesetfiles="${pmd.home}/src/main/resources/rulesets/java/design.xml">
|
|
||||||
<sourceLanguage name="java" version="42"/>
|
|
||||||
</pmd>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="testFormatterWithNoToFileAttribute">
|
|
||||||
<pmd rulesetfiles="${pmd.home}/src/main/resources/rulesets/java/design.xml">
|
|
||||||
<formatter/>
|
|
||||||
</pmd>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="testNoRuleSets">
|
|
||||||
<pmd/>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="testNestedRuleset">
|
|
||||||
<pmd>
|
|
||||||
<ruleset>${pmd.home}/src/main/resources/rulesets/java/codesize.xml</ruleset>
|
|
||||||
<ruleset>${pmd.home}/src/main/resources/rulesets/java/design.xml</ruleset>
|
|
||||||
<formatter type="text" toConsole="true"/>
|
|
||||||
<fileset dir="${pmd.home}/${src}/net/sourceforge/pmd/ant">
|
|
||||||
<include name="*.java"/>
|
|
||||||
</fileset>
|
|
||||||
</pmd>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="testFormatterWithProperties">
|
|
||||||
<pmd>
|
|
||||||
<ruleset>${pmd.home}/src/main/resources/rulesets/java/codesize.xml</ruleset>
|
|
||||||
<ruleset>${pmd.home}/src/main/resources/rulesets/java/design.xml</ruleset>
|
|
||||||
<formatter type="summaryhtml" toConsole="true">
|
|
||||||
<param name="linkPrefix" value="link_prefix"/>
|
|
||||||
<param name="linePrefix" value="line_prefix"/>
|
|
||||||
</formatter>
|
|
||||||
<fileset dir="${pmd.home}/${src}/net/sourceforge/pmd/ant">
|
|
||||||
<include name="*.java"/>
|
|
||||||
</fileset>
|
|
||||||
</pmd>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="testAbstractNames">
|
|
||||||
<pmd rulesetfiles="java-codesize,java-design">
|
|
||||||
<formatter type="text" toConsole="true"/>
|
|
||||||
<fileset dir="${pmd.home}/${src}/net/sourceforge/pmd/ant">
|
|
||||||
<include name="*.java"/>
|
|
||||||
</fileset>
|
|
||||||
</pmd>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="testAbstractNamesInNestedRuleset">
|
|
||||||
<pmd>
|
|
||||||
<ruleset>java-codesize</ruleset>
|
|
||||||
<ruleset>java-design</ruleset>
|
|
||||||
<formatter type="text" toConsole="true"/>
|
|
||||||
<fileset dir="${pmd.home}/${src}/net/sourceforge/pmd/ant">
|
|
||||||
<include name="*.java"/>
|
|
||||||
</fileset>
|
|
||||||
</pmd>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="testCommaInRulesetfiles">
|
|
||||||
<pmd rulesetfiles="${pmd.home}/src/main/resources/rulesets/java/codesize.xml,${pmd.home}/src/main/resources/rulesets/java/design.xml">
|
|
||||||
<formatter type="text" toConsole="true"/>
|
|
||||||
<fileset dir="${pmd.home}/${src}/net/sourceforge/pmd/ant">
|
|
||||||
<include name="*.java"/>
|
|
||||||
</fileset>
|
|
||||||
</pmd>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="testRelativeRulesets">
|
|
||||||
<pmd>
|
|
||||||
<ruleset>custom_ruleset.xml</ruleset>
|
|
||||||
<ruleset>rulesets/java/design.xml</ruleset>
|
|
||||||
<formatter type="text" toConsole="true"/>
|
|
||||||
<fileset dir="${pmd.home}/${src}/net/sourceforge/pmd/ant">
|
|
||||||
<include name="*.java"/>
|
|
||||||
</fileset>
|
|
||||||
</pmd>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="testRelativeRulesetsInRulesetfiles">
|
|
||||||
<pmd rulesetfiles="custom_ruleset.xml,src/main/resources/rulesets/java/design.xml">
|
|
||||||
<formatter type="text" toConsole="true"/>
|
|
||||||
<fileset dir="${pmd.home}/${src}/net/sourceforge/pmd/ant">
|
|
||||||
<include name="*.java"/>
|
|
||||||
</fileset>
|
|
||||||
</pmd>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="testNoFormattersValidation">
|
|
||||||
<pmd rulesetfiles="${pmd.home}/src/main/resources/rulesets/java/design.xml">
|
|
||||||
<fileset dir="${pmd.home}/${src}/net/sourceforge/pmd/ant">
|
|
||||||
<include name="*.java"/>
|
|
||||||
</fileset>
|
|
||||||
</pmd>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="testExplicitRuleInRuleSet">
|
|
||||||
<pmd rulesetfiles="src/main/resources/rulesets/java/codesize.xml/ExcessiveMethodLength">
|
|
||||||
<formatter type="text" toConsole="true"/>
|
|
||||||
<fileset dir="${pmd.home}/${src}/net/sourceforge/pmd/ant">
|
|
||||||
<include name="*.java"/>
|
|
||||||
</fileset>
|
|
||||||
</pmd>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="testEcmascript">
|
|
||||||
<pmd rulesetfiles="${pmd.home}/src/main/resources/rulesets/ecmascript/basic.xml">
|
|
||||||
<sourceLanguage name="ecmascript" version="3"/>
|
|
||||||
<formatter type="text" toConsole="true"/>
|
|
||||||
<fileset dir="${pmd.home}/src/test/resources/ant/ecmascript/">
|
|
||||||
<include name="*.js"/>
|
|
||||||
</fileset>
|
|
||||||
</pmd>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<target name="testXML">
|
|
||||||
<pmd rulesetfiles="${pmd.home}/src/main/resources/rulesets/xml/basic.xml">
|
|
||||||
<sourceLanguage name="xml" version=""/>
|
|
||||||
<formatter type="text" toConsole="true"/>
|
|
||||||
<fileset dir="${pmd.home}/src/test/resources/ant/xml/">
|
|
||||||
<include name="*.xml"/>
|
|
||||||
</fileset>
|
|
||||||
</pmd>
|
</pmd>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="testClasspath">
|
<target name="testFormatterWithNoToFileAttribute">
|
||||||
<pmd>
|
<pmd rulesetfiles="${pmd.home}/src/test/resources/rulesets/dummy/basic.xml">
|
||||||
<ruleset>classpathtest/ruleset.xml</ruleset>
|
<formatter />
|
||||||
<classpath>
|
|
||||||
<pathelement path="${pmd.home}/target/classes"/>
|
|
||||||
<pathelement path="${pmd.home}/target/test-classes"/>
|
|
||||||
<pathelement path="${pmd.home}/target/test-classes/net/sourceforge/pmd/ant"/>
|
|
||||||
<pathelement path="${pmd.home}/target/clover/test-classes"/>
|
|
||||||
<pathelement path="${pmd.home}/target/clover/test-classes/net/sourceforge/pmd/ant"/>
|
|
||||||
</classpath>
|
|
||||||
</pmd>
|
</pmd>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
<target name="testNoRuleSets">
|
||||||
|
<pmd />
|
||||||
|
</target>
|
||||||
</project>
|
</project>
|
||||||
|
Reference in New Issue
Block a user