diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetFactoryCompatibilityTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetFactoryCompatibilityTest.java
index 060c4770bc..9ed415c74d 100644
--- a/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetFactoryCompatibilityTest.java
+++ b/pmd-core/src/test/java/net/sourceforge/pmd/RuleSetFactoryCompatibilityTest.java
@@ -10,6 +10,7 @@ import java.nio.charset.StandardCharsets;
import org.apache.commons.io.IOUtils;
import org.junit.Assert;
+import org.junit.Ignore;
import org.junit.Test;
public class RuleSetFactoryCompatibilityTest {
@@ -29,19 +30,33 @@ public class RuleSetFactoryCompatibilityTest {
RuleSetFactory factory = new RuleSetFactory();
factory.getCompatibilityFilter().addFilterRuleMoved("dummy", "notexisting", "basic", "DummyBasicMockRule");
- RuleSet createdRuleSet = factory.createRuleSet(new RuleSetReferenceId(null) {
- @Override
- public InputStream getInputStream(ClassLoader classLoader) throws RuleSetNotFoundException {
- try {
- return new ByteArrayInputStream(ruleset.getBytes("UTF-8"));
- } catch (UnsupportedEncodingException e) {
- throw new RuleSetNotFoundException(e.getMessage());
- }
- }
- });
+ RuleSet createdRuleSet = createRulesetFromString(ruleset, factory);
Assert.assertNotNull(createdRuleSet.getRuleByName("DummyBasicMockRule"));
}
-
+
+ @Ignore
+ @Test
+ public void testExclusion() throws Exception {
+ final String ruleset = "\n" +
+ "\n" +
+ "\n" +
+ " Test\n" +
+ "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ "\n";
+
+ RuleSetFactory factory = new RuleSetFactory();
+ factory.getCompatibilityFilter().addFilterRuleRenamed("dummy", "basic", "AnotherOldNameOfBasicMockRule", "DummyBasicMockRule");
+
+ RuleSet createdRuleSet = createRulesetFromString(ruleset, factory);
+ Assert.assertNotNull(createdRuleSet.getRuleByName("DummyBasicMockRule"));
+ }
+
@Test
public void testFilter() throws Exception {
RuleSetFactoryCompatibility rsfc = new RuleSetFactoryCompatibility();
@@ -74,6 +89,32 @@ public class RuleSetFactoryCompatibilityTest {
Assert.assertTrue(out.contains(""));
}
+ @Ignore
+ @Test
+ public void testExclusionFilter() throws Exception {
+ RuleSetFactoryCompatibility rsfc = new RuleSetFactoryCompatibility();
+ rsfc.addFilterRuleRenamed("dummy", "basic", "AnotherOldNameOfBasicMockRule", "NewNameOfBasicMockRule");
+
+ String in = "\n" +
+ "\n" +
+ "\n" +
+ " Test\n" +
+ "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ "\n";
+ InputStream stream = new ByteArrayInputStream(in.getBytes(StandardCharsets.ISO_8859_1));
+ Reader filtered = rsfc.filterRuleSetFile(stream);
+ String out = IOUtils.toString(filtered);
+
+ Assert.assertFalse(out.contains("OldNameOfBasicMockRule"));
+ Assert.assertTrue(out.contains(""));
+ }
+
@Test
public void testEncoding() {
RuleSetFactoryCompatibility rsfc = new RuleSetFactoryCompatibility();
@@ -85,4 +126,18 @@ public class RuleSetFactoryCompatibilityTest {
testString = "";
Assert.assertEquals("UTF-8", rsfc.determineEncoding(testString.getBytes(StandardCharsets.ISO_8859_1)));
}
+
+ private RuleSet createRulesetFromString(final String ruleset, RuleSetFactory factory)
+ throws RuleSetNotFoundException {
+ return factory.createRuleSet(new RuleSetReferenceId(null) {
+ @Override
+ public InputStream getInputStream(ClassLoader classLoader) throws RuleSetNotFoundException {
+ try {
+ return new ByteArrayInputStream(ruleset.getBytes("UTF-8"));
+ } catch (UnsupportedEncodingException e) {
+ throw new RuleSetNotFoundException(e.getMessage());
+ }
+ }
+ });
+ }
}