forked from phoedos/pmd
Fix LanguageVersionTest for Java, add for Apex
This commit is contained in:
@ -2,4 +2,4 @@
|
||||
# BSD-style license; for more info see http://pmd.sourceforge.net/license.html
|
||||
#
|
||||
|
||||
rulesets.filenames=rulesets/apex/codesize.xml,rulesets/apex/basic.xml,rulesets/naming.xml,rulesets/design.xml
|
||||
rulesets.filenames=rulesets/apex/codesize.xml,rulesets/apex/basic.xml,rulesets/apex/naming.xml,rulesets/apex/design.xml
|
||||
|
@ -0,0 +1,27 @@
|
||||
/**
|
||||
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
|
||||
*/
|
||||
package net.sourceforge.pmd.lang.apex;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
|
||||
import net.sourceforge.pmd.AbstractLanguageVersionTest;
|
||||
import net.sourceforge.pmd.lang.LanguageRegistry;
|
||||
import net.sourceforge.pmd.lang.LanguageVersion;
|
||||
|
||||
public class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
|
||||
public LanguageVersionTest(String name, String terseName, String version, LanguageVersion expected) {
|
||||
super(name, terseName, version, expected);
|
||||
}
|
||||
|
||||
@Parameters
|
||||
public static Collection data() {
|
||||
return Arrays.asList(new Object[][] {
|
||||
{ApexLanguageModule.NAME, ApexLanguageModule.TERSE_NAME, "35", LanguageRegistry.getLanguage("Apex").getVersion("35")}
|
||||
});
|
||||
}
|
||||
}
|
@ -1,3 +1,6 @@
|
||||
/**
|
||||
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
|
||||
*/
|
||||
package net.sourceforge.pmd;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
@ -44,6 +44,7 @@ public class AbstractLanguageVersionTest {
|
||||
|
||||
private String name;
|
||||
private String version;
|
||||
private String simpleTerseName;
|
||||
private String terseName;
|
||||
private LanguageVersion expected;
|
||||
|
||||
@ -57,6 +58,7 @@ public class AbstractLanguageVersionTest {
|
||||
public AbstractLanguageVersionTest(String name, String terseName, String version, LanguageVersion expected) {
|
||||
this.name = name;
|
||||
this.version = version;
|
||||
this.simpleTerseName = terseName;
|
||||
this.terseName = terseName;
|
||||
if (version != null && !version.isEmpty()) {
|
||||
this.terseName += " " + version;
|
||||
@ -98,11 +100,11 @@ public class AbstractLanguageVersionTest {
|
||||
@Test
|
||||
public void testRegisteredRulesets() throws Exception {
|
||||
// only check for languages, that support rules
|
||||
if (expected.getLanguage().getRuleChainVisitorClass() == null)
|
||||
if (expected == null || expected.getLanguage().getRuleChainVisitorClass() == null)
|
||||
return;
|
||||
|
||||
Properties props = new Properties();
|
||||
String rulesetsProperties = "rulesets/" + terseName + "/rulesets.properties";
|
||||
String rulesetsProperties = "rulesets/" + simpleTerseName + "/rulesets.properties";
|
||||
props.load(ResourceLoader.loadResourceAsStream(rulesetsProperties));
|
||||
String rulesetFilenames = props.getProperty("rulesets.filenames");
|
||||
assertNotNull(rulesetFilenames);
|
||||
|
Reference in New Issue
Block a user