This is an automated email from the ASF dual-hosted git repository. henrib pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-jexl.git
The following commit(s) were added to refs/heads/master by this push: new 4c29b0a8 JEXL: getting ready for 3.3; 4c29b0a8 is described below commit 4c29b0a8a497cfaa3c70fda6f4fdc2915945f456 Author: henrib <hen...@apache.org> AuthorDate: Thu Mar 2 15:38:15 2023 +0100 JEXL: getting ready for 3.3; --- .../org/apache/commons/jexl3/Issues300Test.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/test/java/org/apache/commons/jexl3/Issues300Test.java b/src/test/java/org/apache/commons/jexl3/Issues300Test.java index 3976e889..3ec1d6b6 100644 --- a/src/test/java/org/apache/commons/jexl3/Issues300Test.java +++ b/src/test/java/org/apache/commons/jexl3/Issues300Test.java @@ -1253,6 +1253,27 @@ public class Issues300Test { } catch(JexlException.Parsing xparse) { Assert.assertTrue(xparse.getMessage().contains("total")); } + } + @Test public void testDow() { + String src = "(y, m, d)->{\n" + + "// will return 0 for Sunday, 6 for Saturday\n" + + "const t = [0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4];\n"+ + "if (m < 3) { --y }\n" + + "(y + y/4 - y/100 + y/400 + t[m-1] + d) % 7;\n" + + "}"; + JexlEngine jexl = new JexlBuilder() + .safe(false) + .strict(true) + .create(); + JexlScript script = jexl.createScript(src); + Object r = script.execute(null, 2023, 3, 1); + Assert.assertTrue(r instanceof Number); + Number dow = (Number) r; + Assert.assertEquals(3, dow.intValue()); + r = script.execute(null, 1969, 7, 20); + Assert.assertTrue(r instanceof Number); + dow = (Number) r; + Assert.assertEquals(0, dow.intValue()); } }