From 839a8741576af55d95a06ba95873d62ea687932e Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Wed, 13 Apr 2016 21:13:15 +0200 Subject: [PATCH] Fix LanguageVersionTest for Java, add for Apex --- .../rulesets/apex/rulesets.properties | 2 +- .../pmd/lang/apex/LanguageVersionTest.java | 27 +++++++++++++++++++ .../sourceforge/pmd/LanguageVersionTest.java | 3 +++ .../pmd/AbstractLanguageVersionTest.java | 6 +++-- 4 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/LanguageVersionTest.java diff --git a/pmd-apex/src/main/resources/rulesets/apex/rulesets.properties b/pmd-apex/src/main/resources/rulesets/apex/rulesets.properties index 95051ac008..eb2d029812 100644 --- a/pmd-apex/src/main/resources/rulesets/apex/rulesets.properties +++ b/pmd-apex/src/main/resources/rulesets/apex/rulesets.properties @@ -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 diff --git a/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/LanguageVersionTest.java b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/LanguageVersionTest.java new file mode 100644 index 0000000000..aeb3e1095b --- /dev/null +++ b/pmd-apex/src/test/java/net/sourceforge/pmd/lang/apex/LanguageVersionTest.java @@ -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")} + }); + } +} diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java index 90f167d336..13f9578789 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/LanguageVersionTest.java @@ -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; diff --git a/pmd-test/src/main/java/net/sourceforge/pmd/AbstractLanguageVersionTest.java b/pmd-test/src/main/java/net/sourceforge/pmd/AbstractLanguageVersionTest.java index b8c6fea59f..381d7d9db5 100644 --- a/pmd-test/src/main/java/net/sourceforge/pmd/AbstractLanguageVersionTest.java +++ b/pmd-test/src/main/java/net/sourceforge/pmd/AbstractLanguageVersionTest.java @@ -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);