Fix LanguageVersionTest for Java, add for Apex

This commit is contained in:
Andreas Dangel
2016-04-13 21:13:15 +02:00
parent 334ae8b9ba
commit 839a874157
4 changed files with 35 additions and 3 deletions

View File

@ -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

View File

@ -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")}
});
}
}

View File

@ -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;

View File

@ -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);