Dmitri Blinov created JEXL-193:
----------------------------------

             Summary: InterruptedException is swallowed in function call in 
silent and non-strict mode
                 Key: JEXL-193
                 URL: https://issues.apache.org/jira/browse/JEXL-193
             Project: Commons JEXL
          Issue Type: Bug
    Affects Versions: 3.0
            Reporter: Dmitri Blinov


The following test case fails with 

{code}
java.lang.AssertionError: Values should be different. Actual: 42
        at org.junit.Assert.fail(Assert.java:88)
        at org.junit.Assert.failEquals(Assert.java:185)
        at org.junit.Assert.assertNotEquals(Assert.java:161)
{cpde}

{code}
    public static class TestContext extends MapContext implements 
JexlContext.NamespaceResolver {

        public int interrupt() throws InterruptedException {
            throw new InterruptedException();
        }
    }

    @Test
    public void testInterrupt() throws Exception {
        JexlEngine jexl = new JexlBuilder().arithmetic(new 
JexlArithmetic(false)).strict(false).silent(true).create();
        JexlScript e = jexl.createScript("interrupt(); return 42");
        Callable<Object> c = e.callable(new TestContext());

        Object t = c.call();
        Assert.assertNotEquals(42, t);
    }
{code}

Expected behaviour is to cancel script execution



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to