+33 | 239 |
+
+
+column | endcolumn | line | endline | path |
+
+
+29 | 75 | 32 | 64 | /home/pmd/source/pmd-core/src/test/java/net/sourceforge/pmd/RuleReferenceTest.java |
+
+
+37 | 75 | 68 | 100 | /home/pmd/source/pmd-core/src/test/java/net/sourceforge/pmd/RuleReferenceTest.java |
+
+
+ |
+ public void testOverride() {
+ final StringProperty PROPERTY1_DESCRIPTOR = new StringProperty("property1", "Test property", null, 0f);
+ MockRule rule = new MockRule();
+ rule.definePropertyDescriptor(PROPERTY1_DESCRIPTOR);
+ rule.setLanguage(LanguageRegistry.getLanguage(Dummy2LanguageModule.NAME));
+ rule.setName("name1");
+ rule.setProperty(PROPERTY1_DESCRIPTOR, "value1");
+ rule.setMessage("message1");
+ rule.setDescription("description1");
+ rule.addExample("example1");
+ rule.setExternalInfoUrl("externalInfoUrl1");
+ rule.setPriority(RulePriority.HIGH);
+
+ final StringProperty PROPERTY2_DESCRIPTOR = new StringProperty("property2", "Test property", null, 0f);
+ RuleReference ruleReference = new RuleReference();
+ ruleReference.setRule(rule);
+ ruleReference.definePropertyDescriptor(PROPERTY2_DESCRIPTOR);
+ ruleReference.setLanguage(LanguageRegistry.getLanguage(DummyLanguageModule.NAME));
+ ruleReference
+ .setMinimumLanguageVersion(LanguageRegistry.getLanguage(DummyLanguageModule.NAME).getVersion("1.3"));
+ ruleReference
+ .setMaximumLanguageVersion(LanguageRegistry.getLanguage(DummyLanguageModule.NAME).getVersion("1.7"));
+ ruleReference.setDeprecated(true);
+ ruleReference.setName("name2");
+ ruleReference.setProperty(PROPERTY1_DESCRIPTOR, "value2");
+ ruleReference.setProperty(PROPERTY2_DESCRIPTOR, "value3");
+ ruleReference.setMessage("message2");
+ ruleReference.setDescription("description2");
+ ruleReference.addExample("example2");
+ ruleReference.setExternalInfoUrl("externalInfoUrl2");
+ ruleReference.setPriority(RulePriority.MEDIUM_HIGH);
+
+ validateOverriddenValues(PROPERTY1_DESCRIPTOR, PROPERTY2_DESCRIPTOR, ruleReference);
+ |
+
+
+16 | 110 |
+
+
+column | endcolumn | line | endline | path |
+
+
+9 | 28 | 66 | 81 | /home/pmd/source/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/xpath/JaxenXPathRuleQueryTest.java |
+
+
+9 | 28 | 88 | 103 | /home/pmd/source/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/xpath/JaxenXPathRuleQueryTest.java |
+
+
+9 | 28 | 110 | 125 | /home/pmd/source/pmd-core/src/test/java/net/sourceforge/pmd/lang/rule/xpath/JaxenXPathRuleQueryTest.java |
+
+
+ |
+ JaxenXPathRuleQuery query = createQuery(xpath);
+ List<String> ruleChainVisits = query.getRuleChainVisits();
+ Assert.assertEquals(2, ruleChainVisits.size());
+ Assert.assertTrue(ruleChainVisits.contains("dummyNode"));
+ // Note: Having AST_ROOT in the rule chain visits is probably a mistake. But it doesn't hurt, it shouldn't
+ // match a real node name.
+ Assert.assertTrue(ruleChainVisits.contains(JaxenXPathRuleQuery.AST_ROOT));
+
+ DummyNodeWithListAndEnum dummy = new DummyNodeWithListAndEnum(1);
+ RuleContext data = new RuleContext();
+ data.setLanguageVersion(LanguageRegistry.findLanguageByTerseName("dummy").getDefaultVersion());
+
+ query.evaluate(dummy, data);
+ // note: the actual xpath queries are only available after evaluating
+ Assert.assertEquals(2, query.nodeNameToXPaths.size());
+ Assert.assertEquals("self::node()[(attribute::Test1 = \"false\")][(attribute::Test2 = \"true\")]", query.nodeNameToXPaths.get("dummyNode").get(0).toString());
+ |
+
+