Migrate LanguageVersionTests to JUnit5

Also move LanguageVersionTests into their language packages
and add missing tests
This commit is contained in:
Andreas Dangel
2022-10-13 16:00:00 +02:00
parent 8688838190
commit 00924bea75
25 changed files with 348 additions and 363 deletions

View File

@@ -7,20 +7,12 @@ 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.LanguageVersion;
public class LanguageVersionTest extends AbstractLanguageVersionTest {
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",
getLanguage("Apex").getVersion("35"), }, });
static Collection<TestDescriptor> data() {
return Arrays.asList(new TestDescriptor(ApexLanguageModule.NAME, ApexLanguageModule.TERSE_NAME, "35",
getLanguage("Apex").getVersion("35")));
}
}

View File

@@ -0,0 +1,18 @@
/*
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.html;
import java.util.Arrays;
import java.util.Collection;
import net.sourceforge.pmd.AbstractLanguageVersionTest;
class LanguageVersionTest extends AbstractLanguageVersionTest {
static Collection<TestDescriptor> data() {
return Arrays.asList(new TestDescriptor(HtmlLanguageModule.NAME, HtmlLanguageModule.TERSE_NAME, "",
getLanguage(HtmlLanguageModule.NAME).getDefaultVersion()));
}
}

View File

@@ -1,65 +0,0 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
import java.util.Arrays;
import java.util.Collection;
import org.junit.runners.Parameterized.Parameters;
import net.sourceforge.pmd.lang.Language;
import net.sourceforge.pmd.lang.LanguageVersion;
import net.sourceforge.pmd.lang.java.JavaLanguageModule;
public class LanguageVersionTest extends AbstractLanguageVersionTest {
public LanguageVersionTest(String name, String terseName, String version, LanguageVersion expected) {
super(name, terseName, version, expected);
}
@Parameters
public static Collection<Object[]> data() {
Language java = getLanguage(JavaLanguageModule.NAME);
return Arrays.asList(new Object[][] {
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "1.3",
java.getVersion("1.3"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "1.4",
java.getVersion("1.4"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "1.5",
java.getVersion("1.5"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "1.6",
java.getVersion("1.6"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "1.7",
java.getVersion("1.7"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "1.8",
java.getVersion("1.8"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "9",
java.getVersion("9"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "10",
java.getVersion("10"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "11",
java.getVersion("11"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "12",
java.getVersion("12"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "13",
java.getVersion("13"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "14",
java.getVersion("14"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "15",
java.getVersion("15"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "16",
java.getVersion("16"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "16-preview",
java.getVersion("16-preview"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "17",
java.getVersion("17"), },
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "17-preview",
java.getVersion("17-preview"), },
// this one won't be found: case sensitive!
{ "JAVA", "JAVA", "1.7", null, },
});
}
}

View File

@@ -0,0 +1,42 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.java;
import java.util.Arrays;
import java.util.Collection;
import net.sourceforge.pmd.AbstractLanguageVersionTest;
import net.sourceforge.pmd.lang.Language;
class LanguageVersionTest extends AbstractLanguageVersionTest {
static Collection<TestDescriptor> data() {
final String name = JavaLanguageModule.NAME;
final String terseName = JavaLanguageModule.TERSE_NAME;
final Language java = getLanguage(name);
return Arrays.asList(
new TestDescriptor(name, terseName, "1.3", java.getVersion("1.3")),
new TestDescriptor(name, terseName, "1.4", java.getVersion("1.4")),
new TestDescriptor(name, terseName, "1.5", java.getVersion("1.5")),
new TestDescriptor(name, terseName, "1.6", java.getVersion("1.6")),
new TestDescriptor(name, terseName, "1.7", java.getVersion("1.7")),
new TestDescriptor(name, terseName, "1.8", java.getVersion("1.8")),
new TestDescriptor(name, terseName, "9", java.getVersion("9")),
new TestDescriptor(name, terseName, "10", java.getVersion("10")),
new TestDescriptor(name, terseName, "11", java.getVersion("11")),
new TestDescriptor(name, terseName, "12", java.getVersion("12")),
new TestDescriptor(name, terseName, "13", java.getVersion("13")),
new TestDescriptor(name, terseName, "14", java.getVersion("14")),
new TestDescriptor(name, terseName, "15", java.getVersion("15")),
new TestDescriptor(name, terseName, "16", java.getVersion("16")),
new TestDescriptor(name, terseName, "16-preview", java.getVersion("16-preview")),
new TestDescriptor(name, terseName, "17", java.getVersion("17")),
new TestDescriptor(name, terseName, "17-preview", java.getVersion("17-preview")),
// this one won't be found: case sensitive!
new TestDescriptor("JAVA", "JAVA", "1.7", null));
}
}

View File

@@ -1,27 +0,0 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
import java.util.Arrays;
import java.util.Collection;
import org.junit.runners.Parameterized.Parameters;
import net.sourceforge.pmd.lang.LanguageVersion;
import net.sourceforge.pmd.lang.ecmascript.EcmascriptLanguageModule;
public class LanguageVersionTest extends AbstractLanguageVersionTest {
public LanguageVersionTest(String name, String terseName, String version, LanguageVersion expected) {
super(name, terseName, version, expected);
}
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] { { EcmascriptLanguageModule.NAME, EcmascriptLanguageModule.TERSE_NAME,
"ES6",
getLanguage(EcmascriptLanguageModule.NAME).getDefaultVersion(), }, });
}
}

View File

@@ -0,0 +1,19 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.ecmascript;
import java.util.Arrays;
import java.util.Collection;
import net.sourceforge.pmd.AbstractLanguageVersionTest;
class LanguageVersionTest extends AbstractLanguageVersionTest {
static Collection<TestDescriptor> data() {
return Arrays.asList(
new TestDescriptor(EcmascriptLanguageModule.NAME, EcmascriptLanguageModule.TERSE_NAME, "ES6",
getLanguage(EcmascriptLanguageModule.NAME).getDefaultVersion()));
}
}

View File

@@ -1,26 +0,0 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
import java.util.Arrays;
import java.util.Collection;
import org.junit.runners.Parameterized.Parameters;
import net.sourceforge.pmd.lang.LanguageVersion;
import net.sourceforge.pmd.lang.jsp.JspLanguageModule;
public class LanguageVersionTest extends AbstractLanguageVersionTest {
public LanguageVersionTest(String name, String terseName, String version, LanguageVersion expected) {
super(name, terseName, version, expected);
}
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] { { JspLanguageModule.NAME, JspLanguageModule.TERSE_NAME, "",
getLanguage(JspLanguageModule.NAME).getDefaultVersion(), }, });
}
}

View File

@@ -0,0 +1,18 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.jsp;
import java.util.Arrays;
import java.util.Collection;
import net.sourceforge.pmd.AbstractLanguageVersionTest;
class LanguageVersionTest extends AbstractLanguageVersionTest {
static Collection<TestDescriptor> data() {
return Arrays.asList(new TestDescriptor(JspLanguageModule.NAME, JspLanguageModule.TERSE_NAME, "",
getLanguage(JspLanguageModule.NAME).getDefaultVersion()));
}
}

View File

@@ -25,6 +25,6 @@ public class KotlinLanguageModule extends BaseLanguageModule {
*/
public KotlinLanguageModule() {
super(NAME, null, TERSE_NAME, "kt", "ktm");
addDefaultVersion("1.6-rfc+0.1", new KotlinHandler(), "1.6");
addDefaultVersion("", new KotlinHandler(), "1.6", "1.6-rfc+0.1");
}
}

View File

@@ -0,0 +1,21 @@
/*
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.kotlin;
import java.util.Arrays;
import java.util.Collection;
import net.sourceforge.pmd.AbstractLanguageVersionTest;
class LanguageVersionTest extends AbstractLanguageVersionTest {
static Collection<TestDescriptor> data() {
return Arrays.asList(
new TestDescriptor(KotlinLanguageModule.NAME, KotlinLanguageModule.TERSE_NAME, "",
getLanguage(KotlinLanguageModule.NAME).getDefaultVersion()),
new TestDescriptor(KotlinLanguageModule.NAME, KotlinLanguageModule.TERSE_NAME, "1.6",
getLanguage(KotlinLanguageModule.NAME).getDefaultVersion()));
}
}

View File

@@ -1,28 +0,0 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
import java.util.Arrays;
import java.util.Collection;
import org.junit.runners.Parameterized;
import net.sourceforge.pmd.lang.LanguageVersion;
import net.sourceforge.pmd.lang.modelica.ModelicaLanguageModule;
public class LanguageVersionTest extends AbstractLanguageVersionTest {
public LanguageVersionTest(String name, String terseName, String version, LanguageVersion expected) {
super(name, terseName, version, expected);
}
@Parameterized.Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] {
{ ModelicaLanguageModule.NAME, ModelicaLanguageModule.TERSE_NAME, "",
getLanguage(ModelicaLanguageModule.NAME).getDefaultVersion(),
},
});
}
}

View File

@@ -0,0 +1,18 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.modelica;
import java.util.Arrays;
import java.util.Collection;
import net.sourceforge.pmd.AbstractLanguageVersionTest;
class LanguageVersionTest extends AbstractLanguageVersionTest {
static Collection<TestDescriptor> data() {
return Arrays.asList(new TestDescriptor(ModelicaLanguageModule.NAME, ModelicaLanguageModule.TERSE_NAME, "",
getLanguage(ModelicaLanguageModule.NAME).getDefaultVersion()));
}
}

View File

@@ -1,26 +0,0 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
import java.util.Arrays;
import java.util.Collection;
import org.junit.runners.Parameterized.Parameters;
import net.sourceforge.pmd.lang.LanguageVersion;
import net.sourceforge.pmd.lang.plsql.PLSQLLanguageModule;
public class LanguageVersionTest extends AbstractLanguageVersionTest {
public LanguageVersionTest(String name, String terseName, String version, LanguageVersion expected) {
super(name, terseName, version, expected);
}
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] { { PLSQLLanguageModule.NAME, PLSQLLanguageModule.TERSE_NAME, "",
getLanguage(PLSQLLanguageModule.NAME).getDefaultVersion(), }, });
}
}

View File

@@ -0,0 +1,18 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.plsql;
import java.util.Arrays;
import java.util.Collection;
import net.sourceforge.pmd.AbstractLanguageVersionTest;
class LanguageVersionTest extends AbstractLanguageVersionTest {
static Collection<TestDescriptor> data() {
return Arrays.asList(new TestDescriptor(PLSQLLanguageModule.NAME, PLSQLLanguageModule.TERSE_NAME, "",
getLanguage(PLSQLLanguageModule.NAME).getDefaultVersion()));
}
}

View File

@@ -1,33 +0,0 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
import java.util.Arrays;
import java.util.Collection;
import org.junit.runners.Parameterized.Parameters;
import net.sourceforge.pmd.lang.LanguageVersion;
import net.sourceforge.pmd.lang.scala.ScalaLanguageModule;
public class LanguageVersionTest extends AbstractLanguageVersionTest {
public LanguageVersionTest(String name, String terseName, String version, LanguageVersion expected) {
super(name, terseName, version, expected);
}
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] {
{ ScalaLanguageModule.NAME, ScalaLanguageModule.TERSE_NAME, "2.13",
getLanguage(ScalaLanguageModule.NAME).getVersion("2.13"), },
{ ScalaLanguageModule.NAME, ScalaLanguageModule.TERSE_NAME, "2.12",
getLanguage(ScalaLanguageModule.NAME).getVersion("2.12"), },
{ ScalaLanguageModule.NAME, ScalaLanguageModule.TERSE_NAME, "2.11",
getLanguage(ScalaLanguageModule.NAME).getVersion("2.11"), },
{ ScalaLanguageModule.NAME, ScalaLanguageModule.TERSE_NAME, "2.10",
getLanguage(ScalaLanguageModule.NAME).getVersion("2.10"), }, });
}
}

View File

@@ -0,0 +1,25 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.scala;
import java.util.Arrays;
import java.util.Collection;
import net.sourceforge.pmd.AbstractLanguageVersionTest;
class LanguageVersionTest extends AbstractLanguageVersionTest {
static Collection<TestDescriptor> data() {
return Arrays.asList(
new TestDescriptor(ScalaLanguageModule.NAME, ScalaLanguageModule.TERSE_NAME, "2.13",
getLanguage(ScalaLanguageModule.NAME).getVersion("2.13")),
new TestDescriptor(ScalaLanguageModule.NAME, ScalaLanguageModule.TERSE_NAME, "2.12",
getLanguage(ScalaLanguageModule.NAME).getVersion("2.12")),
new TestDescriptor(ScalaLanguageModule.NAME, ScalaLanguageModule.TERSE_NAME, "2.11",
getLanguage(ScalaLanguageModule.NAME).getVersion("2.11")),
new TestDescriptor(ScalaLanguageModule.NAME, ScalaLanguageModule.TERSE_NAME, "2.10",
getLanguage(ScalaLanguageModule.NAME).getVersion("2.10")));
}
}

View File

@@ -0,0 +1,18 @@
/*
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.swift;
import java.util.Arrays;
import java.util.Collection;
import net.sourceforge.pmd.AbstractLanguageVersionTest;
class LanguageVersionTest extends AbstractLanguageVersionTest {
static Collection<TestDescriptor> data() {
return Arrays.asList(new TestDescriptor(SwiftLanguageModule.NAME, SwiftLanguageModule.TERSE_NAME, "",
getLanguage(SwiftLanguageModule.NAME).getDefaultVersion()));
}
}

View File

@@ -32,6 +32,11 @@
<artifactId>junit-jupiter-api</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>

View File

@@ -4,16 +4,15 @@
package net.sourceforge.pmd;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
import net.sourceforge.pmd.ant.SourceLanguage;
import net.sourceforge.pmd.lang.Language;
@@ -22,66 +21,83 @@ import net.sourceforge.pmd.lang.LanguageVersion;
/**
* Base test class for {@link LanguageVersion} implementations. <br>
* Each language implementation should subclass this and provide a data method.
* Each language implementation should subclass this and provide a method called {@code data}.
*
* <pre>
* &#64;Parameters
* public static Collection&lt;Object[]&gt; data() {
* return Arrays.asList(new Object[][] {
* { MyLanguageModule.NAME, MyLanguageModule.TERSE_NAME, "1.1",
* LanguageRegistry.getLanguage(MyLanguageModule.NAME).getVersion("1.1") },
* { MyLanguageModule.NAME, MyLanguageModule.TERSE_NAME, "1.2",
* LanguageRegistry.getLanguage(MyLanguageModule.NAME).getVersion("1.2") },
* static Collection&lt;TestDescriptor&gt; data() {
* return Arrays.asList(
* new TestDescriptor(MyLanguageModule.NAME, MyLanguageModule.TERSE_NAME, "1.1",
* LanguageRegistry.getLanguage(MyLanguageModule.NAME).getVersion("1.1")),
* new TestDescriptor(MyLanguageModule.NAME, MyLanguageModule.TERSE_NAME, "1.2",
* LanguageRegistry.getLanguage(MyLanguageModule.NAME).getVersion("1.2")),
*
* // doesn't exist
* { MyLanguageModule.NAME, MyLanguageModule.TERSE_NAME, "1.3",
* null }
* });
* new TestDescriptor(MyLanguageModule.NAME, MyLanguageModule.TERSE_NAME, "1.3", null)
* };
* </pre>
*
* <p>For the parameters, see the constructor
* {@link #AbstractLanguageVersionTest(String, String, String, LanguageVersion)}.</p>
* {@link TestDescriptor#TestDescriptor(String, String, String, LanguageVersion)}.</p>
*/
@RunWith(Parameterized.class)
public class AbstractLanguageVersionTest {
private String name;
private String version;
private String simpleTerseName;
private LanguageVersion expected;
public static class TestDescriptor {
private final String name;
private final String version;
private final String simpleTerseName;
private final LanguageVersion expected;
/**
* Creates a new {@link AbstractLanguageVersionTest}
*
* @param name
* the name under which the language module is registered
* @param terseName
* the terse name under which the language module is registered
* @param version
* the specific version of the language version
* @param expected
* the expected {@link LanguageVersion} instance
*/
public AbstractLanguageVersionTest(String name, String terseName, String version, LanguageVersion expected) {
this.name = name;
this.version = version;
this.simpleTerseName = terseName;
this.expected = expected;
/**
* Creates a new {@link TestDescriptor}
*
* @param name
* the name under which the language module is registered
* @param terseName
* the terse name under which the language module is registered
* @param version
* the specific version of the language version
* @param expected
* the expected {@link LanguageVersion} instance
*/
public TestDescriptor(String name, String terseName, String version, LanguageVersion expected) {
this.name = name;
this.version = version;
this.simpleTerseName = terseName;
this.expected = expected;
}
public String getName() {
return name;
}
public String getVersion() {
return version;
}
public String getSimpleTerseName() {
return simpleTerseName;
}
public LanguageVersion getExpected() {
return expected;
}
}
protected static Language getLanguage(String name) {
return LanguageRegistry.PMD.getLanguageByFullName(name);
}
/**
* Checks that the expected {@link LanguageVersion} can be found via
* {@link #name} and {@link #version}.
* {@link TestDescriptor#name} and {@link TestDescriptor#version}.
*/
@Test
public void testFindVersionsForLanguageNameAndVersion() {
@ParameterizedTest
@MethodSource("data")
public void testFindVersionsForLanguageNameAndVersion(TestDescriptor testDescriptor) {
SourceLanguage sourceLanguage = new SourceLanguage();
sourceLanguage.setName(name);
sourceLanguage.setVersion(version);
sourceLanguage.setName(testDescriptor.getName());
sourceLanguage.setVersion(testDescriptor.getVersion());
Language language = getLanguage(sourceLanguage.getName());
LanguageVersion languageVersion = null;
@@ -89,7 +105,7 @@ public class AbstractLanguageVersionTest {
languageVersion = language.getVersion(sourceLanguage.getVersion());
}
assertEquals(expected, languageVersion);
assertEquals(testDescriptor.getExpected(), languageVersion);
}
/**
@@ -98,14 +114,15 @@ public class AbstractLanguageVersionTest {
* @throws Exception
* any error
*/
@Test
public void testRegisteredRulesets() throws Exception {
if (expected == null) {
@ParameterizedTest
@MethodSource("data")
public void testRegisteredRulesets(TestDescriptor testDescriptor) throws Exception {
if (testDescriptor.getExpected() == null) {
return;
}
Properties props = new Properties();
String rulesetsProperties = "/category/" + simpleTerseName + "/categories.properties";
String rulesetsProperties = "/category/" + testDescriptor.getSimpleTerseName() + "/categories.properties";
try (InputStream inputStream = getClass().getResourceAsStream(rulesetsProperties)) {
if (inputStream == null) {
throw new IOException();
@@ -121,15 +138,16 @@ public class AbstractLanguageVersionTest {
* @throws Exception
* any error
*/
@Test
public void testOldRegisteredRulesets() throws Exception {
@ParameterizedTest
@MethodSource("data")
public void testOldRegisteredRulesets(TestDescriptor testDescriptor) throws Exception {
// only check for languages, that support rules
if (expected == null) {
if (testDescriptor.getExpected() == null) {
return;
}
Properties props = new Properties();
String rulesetsProperties = "/rulesets/" + simpleTerseName + "/rulesets.properties";
String rulesetsProperties = "/rulesets/" + testDescriptor.getSimpleTerseName() + "/rulesets.properties";
InputStream inputStream = getClass().getResourceAsStream(rulesetsProperties);
if (inputStream != null) {
// rulesets.properties file exists
@@ -140,8 +158,10 @@ public class AbstractLanguageVersionTest {
}
}
@Test
public void testVersionsAreDistinct() {
@ParameterizedTest
@MethodSource("data")
public void testVersionsAreDistinct(TestDescriptor testDescriptor) {
LanguageVersion expected = testDescriptor.getExpected();
if (expected == null) {
return;
}
@@ -155,8 +175,8 @@ public class AbstractLanguageVersionTest {
}
}
assertEquals("Expected exactly one occurrence of " + expected
+ " in the language versions of its language", 1, count);
assertEquals(1, count, "Expected exactly one occurrence of " + expected
+ " in the language versions of its language");
}
private void assertRulesetsAndCategoriesProperties(Properties props) throws IOException {

View File

@@ -1,26 +0,0 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
import java.util.Arrays;
import java.util.Collection;
import org.junit.runners.Parameterized.Parameters;
import net.sourceforge.pmd.lang.LanguageVersion;
import net.sourceforge.pmd.lang.vf.VfLanguageModule;
public class LanguageVersionTest extends AbstractLanguageVersionTest {
public LanguageVersionTest(String name, String terseName, String version, LanguageVersion expected) {
super(name, terseName, version, expected);
}
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] { { VfLanguageModule.NAME, VfLanguageModule.TERSE_NAME, "",
getLanguage(VfLanguageModule.NAME).getDefaultVersion(), }, });
}
}

View File

@@ -0,0 +1,18 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.vf;
import java.util.Arrays;
import java.util.Collection;
import net.sourceforge.pmd.AbstractLanguageVersionTest;
class LanguageVersionTest extends AbstractLanguageVersionTest {
static Collection<TestDescriptor> data() {
return Arrays.asList(new TestDescriptor(VfLanguageModule.NAME, VfLanguageModule.TERSE_NAME, "",
getLanguage(VfLanguageModule.NAME).getDefaultVersion()));
}
}

View File

@@ -1,26 +0,0 @@
/*
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
import java.util.Arrays;
import java.util.Collection;
import org.junit.runners.Parameterized.Parameters;
import net.sourceforge.pmd.lang.LanguageVersion;
import net.sourceforge.pmd.lang.vm.VmLanguageModule;
public class LanguageVersionTest extends AbstractLanguageVersionTest {
public LanguageVersionTest(String name, String terseName, String version, LanguageVersion expected) {
super(name, terseName, version, expected);
}
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] { { VmLanguageModule.NAME, VmLanguageModule.TERSE_NAME, "",
getLanguage(VmLanguageModule.NAME).getDefaultVersion(), }, });
}
}

View File

@@ -0,0 +1,18 @@
/*
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.vm;
import java.util.Arrays;
import java.util.Collection;
import net.sourceforge.pmd.AbstractLanguageVersionTest;
class LanguageVersionTest extends AbstractLanguageVersionTest {
static Collection<TestDescriptor> data() {
return Arrays.asList(new TestDescriptor(VmLanguageModule.NAME, VmLanguageModule.TERSE_NAME, "",
getLanguage(VmLanguageModule.NAME).getDefaultVersion()));
}
}

View File

@@ -1,36 +0,0 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
import java.util.Arrays;
import java.util.Collection;
import org.junit.runners.Parameterized.Parameters;
import net.sourceforge.pmd.lang.LanguageVersion;
import net.sourceforge.pmd.lang.pom.PomLanguageModule;
import net.sourceforge.pmd.lang.wsdl.WsdlLanguageModule;
import net.sourceforge.pmd.lang.xml.XmlLanguageModule;
import net.sourceforge.pmd.lang.xsl.XslLanguageModule;
public class LanguageVersionTest extends AbstractLanguageVersionTest {
public LanguageVersionTest(String name, String terseName, String version, LanguageVersion expected) {
super(name, terseName, version, expected);
}
@Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] {
{ XmlLanguageModule.NAME, XmlLanguageModule.TERSE_NAME, "",
getLanguage(XmlLanguageModule.NAME).getDefaultVersion(), },
{ XslLanguageModule.NAME, XslLanguageModule.TERSE_NAME, "",
getLanguage(XslLanguageModule.NAME).getDefaultVersion(), },
{ WsdlLanguageModule.NAME, WsdlLanguageModule.TERSE_NAME, "",
getLanguage(WsdlLanguageModule.NAME).getDefaultVersion(), },
{ PomLanguageModule.NAME, PomLanguageModule.TERSE_NAME, "",
getLanguage(PomLanguageModule.NAME).getDefaultVersion(), }, });
}
}

View File

@@ -0,0 +1,28 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.xml;
import java.util.Arrays;
import java.util.Collection;
import net.sourceforge.pmd.AbstractLanguageVersionTest;
import net.sourceforge.pmd.lang.pom.PomLanguageModule;
import net.sourceforge.pmd.lang.wsdl.WsdlLanguageModule;
import net.sourceforge.pmd.lang.xsl.XslLanguageModule;
class LanguageVersionTest extends AbstractLanguageVersionTest {
static Collection<TestDescriptor> data() {
return Arrays.asList(
new TestDescriptor(XmlLanguageModule.NAME, XmlLanguageModule.TERSE_NAME, "",
getLanguage(XmlLanguageModule.NAME).getDefaultVersion()),
new TestDescriptor(XslLanguageModule.NAME, XslLanguageModule.TERSE_NAME, "",
getLanguage(XslLanguageModule.NAME).getDefaultVersion()),
new TestDescriptor(WsdlLanguageModule.NAME, WsdlLanguageModule.TERSE_NAME, "",
getLanguage(WsdlLanguageModule.NAME).getDefaultVersion()),
new TestDescriptor(PomLanguageModule.NAME, PomLanguageModule.TERSE_NAME, "",
getLanguage(PomLanguageModule.NAME).getDefaultVersion()));
}
}