diff --git a/pmd-jsp/etc/grammar/JspParser.jjt b/pmd-jsp/etc/grammar/JspParser.jjt index 13863d8247..7ea94dcf5f 100644 --- a/pmd-jsp/etc/grammar/JspParser.jjt +++ b/pmd-jsp/etc/grammar/JspParser.jjt @@ -1,4 +1,8 @@ -/* +/* + * Allow boolean attributes + * + * Juan Martín Sotuyo Dodero 06/2017 + *==================================================================== * Added capability for Tracking Tokens. * * Amit Kumar Prasad 10/2015 @@ -580,7 +584,7 @@ void Attribute() : ( AttributeValue() - ) + )? } /** diff --git a/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/JspParserTest.java b/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/JspParserTest.java index 4d7d221f3b..b05018c207 100644 --- a/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/JspParserTest.java +++ b/pmd-jsp/src/test/java/net/sourceforge/pmd/lang/jsp/JspParserTest.java @@ -29,6 +29,16 @@ public class JspParserTest { "$129.00"); Assert.assertNotNull(node); } + + /** + * Verifies bug #311 Jsp parser fails on boolean attribute + */ + @Test + public void testParseBooleanAttribute() { + Node node = parse( + ""); + Assert.assertNotNull(node); + } private Node parse(String code) { LanguageVersionHandler jspLang = LanguageRegistry.getLanguage(JspLanguageModule.NAME).getDefaultVersion()