Dmitri Blinov created JEXL-306:
----------------------------------
Summary: Ternary operator ? protects also its branches from
resolvance errors
Key: JEXL-306
URL: https://issues.apache.org/jira/browse/JEXL-306
Project: Commons JEXL
Issue Type: Bug
Affects Versions: 3.1
Reporter: Dmitri Blinov
Consider the following test case (suppose its added to IfTest)
{code:java}
@Test
public void testTernaryFail() throws Exception {
JexlEvalContext jc = new JexlEvalContext();
JexlExpression e = JEXL.createExpression("false ? bar : quux");
Object o;
jc.setStrict(true);
jc.setSilent(false);
try {
o = e.evaluate(jc);
Assert.fail("Should have failed");
} catch (Exception ex) {
// OK
}
}
{code}
The expected behavior is to fail with {{undefined variable...}} because neither
{{bar}} nor {{quux}} is defined
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)