73
73
assertEquals("many", evaluateExpression(
74
74
"${0 lt 2 ? 1 lt 2 ? 'many': 'one': 'none'}"));
78
78
public void testParserBug45511() {
79
79
// Test cases provided by OP
80
80
assertEquals("true", evaluateExpression("${empty ('')}"));
102
102
assertEquals("\\", evaluateExpression("\\"));
103
103
assertEquals("$", evaluateExpression("$"));
104
104
assertEquals("#", evaluateExpression("#"));
105
assertEquals("\\$", evaluateExpression("\\$"));
106
assertEquals("\\#", evaluateExpression("\\#"));
107
assertEquals("\\\\$", evaluateExpression("\\\\$"));
108
assertEquals("\\\\#", evaluateExpression("\\\\#"));
105
assertEquals("$", evaluateExpression("\\$"));
106
assertEquals("#", evaluateExpression("\\#"));
107
assertEquals("\\$", evaluateExpression("\\\\$"));
108
assertEquals("\\#", evaluateExpression("\\\\#"));
109
109
assertEquals("${", evaluateExpression("\\${"));
110
110
assertEquals("#{", evaluateExpression("\\#{"));
111
111
assertEquals("\\${", evaluateExpression("\\\\${"));
112
112
assertEquals("\\#{", evaluateExpression("\\\\#{"));
114
// '\' is only an escape for '$' and '#'.
115
assertEquals("$", evaluateExpression("\\$"));
116
assertEquals("${", evaluateExpression("\\${"));
117
assertEquals("$a", evaluateExpression("\\$a"));
118
assertEquals("\\a", evaluateExpression("\\a"));
119
assertEquals("\\\\", evaluateExpression("\\\\"));
115
122
public void testParserStringLiteral() {
171
178
assertTrue(null == null);
182
* Test mixing ${...} and #{...} in the same expression.
184
public void testMixedTypes() {
185
// Mixing types should throw an error
188
evaluateExpression("${1+1}#{1+1}");
189
} catch (ELException el) {
174
195
// ************************************************************************
176
197
private String evaluateExpression(String expression) {