@ -352,6 +352,7 @@ public class InProgressTests extends ExpressionTestCase {
@@ -352,6 +352,7 @@ public class InProgressTests extends ExpressionTestCase {
@ -386,10 +387,4 @@ public class InProgressTests extends ExpressionTestCase {
@@ -386,10 +387,4 @@ public class InProgressTests extends ExpressionTestCase {
@ -26,5 +29,14 @@ public class SpringEL300Tests extends ExpressionTestCase {
@@ -26,5 +29,14 @@ public class SpringEL300Tests extends ExpressionTestCase {
Expressionex=parser.parseExpression("#{'Unable to render embedded object: File ({#this == 2\\}'}",TemplateExpressionParsingTests.HASH_DELIMITED_PARSER_CONTEXT);
assertEquals("Unable to render embedded object: File ({#this == 2}",ex.getValue());
// ex = parser.parseExpression("Unable to render embedded object: File (#{#this}) not found", TemplateExpressionParsingTests.HASH_DELIMITED_PARSER_CONTEXT);
@ -41,6 +41,17 @@ public class TemplateExpressionParsingTests extends ExpressionTestCase {
@@ -41,6 +41,17 @@ public class TemplateExpressionParsingTests extends ExpressionTestCase {
@ -91,6 +102,52 @@ public class TemplateExpressionParsingTests extends ExpressionTestCase {
@@ -91,6 +102,52 @@ public class TemplateExpressionParsingTests extends ExpressionTestCase {
assertEquals("No ending suffix '}' for expression starting at character 6: ${listOfNumbersUpToTen.${#root.listOfNumbersUpToTen.${#this%2==1==3}} world",pe.getMessage());
@ -117,10 +174,12 @@ public class TemplateExpressionParsingTests extends ExpressionTestCase {
@@ -117,10 +174,12 @@ public class TemplateExpressionParsingTests extends ExpressionTestCase {
fail("Should have failed");
}catch(ParseExceptionpe){
assertEquals("No expression defined within delimiter '${}' at character 6",pe.getMessage());
fail("Result was not a string, it was of type "+value.getClass()+" (value="+value+")");
@ -130,15 +189,4 @@ public class TemplateExpressionParsingTests extends ExpressionTestCase {
@@ -130,15 +189,4 @@ public class TemplateExpressionParsingTests extends ExpressionTestCase {
}
}
// TODO need to support this case but what is the neatest way? Escape the clashing delimiters in the expression
// string?
// public void testParsingTemplateExpressionThatEmbedsTheDelimiters() throws Exception {
// SpelExpressionParser parser = new SpelExpressionParser();
// Expression expr = parser.parseExpression("The quick ${{'green','brown'}.${true}} fox jumped over the ${'lazy'}
// dog",DefaultTemplateParserContext.INSTANCE);
// Object o = expr.getValue();
// System.out.println(o);
// assertEquals("The quick brown fox jumped over the lazy dog",o.toString());