Author: fmeschbe Date: Wed Nov 19 09:16:44 2014 New Revision: 1640507 URL: http://svn.apache.org/r1640507 Log: SLING-4167 - The Sightly implementation should provide support for escaped expressions
* defined escaped expressions in the lexer * defined escaped expressions as text fragments in the parser * updated TCK version from Adobe to use the new escaped expressions tests * added a resource for the new tests in the testing-content module This closes #40 (Applying patch provided by Radu Cotescu, Thanks alot) Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4 sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4 sling/trunk/contrib/scripting/sightly/testing-content/pom.xml sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json sling/trunk/contrib/scripting/sightly/testing/pom.xml Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4 URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4?rev=1640507&r1=1640506&r2=1640507&view=diff ============================================================================== --- sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4 (original) +++ sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyLexer.g4 Wed Nov 19 09:16:44 2014 @@ -18,6 +18,8 @@ ******************************************************************************/ lexer grammar SightlyLexer; +ESC_EXPR: '\${'.*? '}'; + EXPR_START: '${' -> pushMode(ExpressionMode); TEXT_PART: .; //$hello ${expr} Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4 URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4?rev=1640507&r1=1640506&r2=1640507&view=diff ============================================================================== --- sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4 (original) +++ sling/trunk/contrib/scripting/sightly/engine/src/main/antlr4/org/apache/sling/parser/expr/generated/SightlyParser.g4 Wed Nov 19 09:16:44 2014 @@ -47,6 +47,8 @@ textFrag returns [String str] @init { StringBuilder sb = new StringBuilder(); } : (TEXT_PART { sb.append($TEXT_PART.text); })+ { $str = sb.toString(); } + | (ESC_EXPR { sb.append($ESC_EXPR.text); })+ + { $str = sb.toString().substring(1); } ; expression returns [Expression expr] Modified: sling/trunk/contrib/scripting/sightly/testing-content/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/testing-content/pom.xml?rev=1640507&r1=1640506&r2=1640507&view=diff ============================================================================== --- sling/trunk/contrib/scripting/sightly/testing-content/pom.xml (original) +++ sling/trunk/contrib/scripting/sightly/testing-content/pom.xml Wed Nov 19 09:16:44 2014 @@ -87,7 +87,7 @@ <artifactItem> <groupId>io.sightly</groupId> <artifactId>io.sightly.tck</artifactId> - <version>1.0.1</version> + <version>1.0.2</version> <type>jar</type> <outputDirectory>${project.build.directory}/sightlytck/</outputDirectory> <includes>**/*.html,**/*.js,**/*.java</includes> Modified: sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json?rev=1640507&r1=1640506&r2=1640507&view=diff ============================================================================== --- sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json (original) +++ sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/sightlytck.json Wed Nov 19 09:16:44 2014 @@ -21,6 +21,10 @@ "xss" : { "jcr:primaryType": "nt:unstructured", "sling:resourceType": "/sightlytck/scripts/exprlang/xss" + }, + "escapedexpr": { + "jcr:primaryType": "nt:unstructured", + "sling:resourceType": "/sightlytck/scripts/exprlang/escapedexpr" } }, "blockstatements": { Modified: sling/trunk/contrib/scripting/sightly/testing/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/testing/pom.xml?rev=1640507&r1=1640506&r2=1640507&view=diff ============================================================================== --- sling/trunk/contrib/scripting/sightly/testing/pom.xml (original) +++ sling/trunk/contrib/scripting/sightly/testing/pom.xml Wed Nov 19 09:16:44 2014 @@ -278,7 +278,7 @@ <dependency> <groupId>io.sightly</groupId> <artifactId>io.sightly.tck</artifactId> - <version>1.0.1</version> + <version>1.0.2</version> <scope>test</scope> </dependency>