Skip to content

Commit a50f5f9

Browse files
committed
$eval() "forgets" registered functions when called within
parenthesis #58
1 parent a00a764 commit a50f5f9

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/test/java/com/dashjoin/jsonata/CustomFunctionTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,21 @@ public void testSupplier() {
1717
Assertions.assertEquals("Hello world", expression.evaluate(null));
1818
}
1919

20+
@Test
21+
public void testEval() {
22+
var expression = Jsonata.jsonata("$eval('$greet()')");
23+
expression.registerFunction("greet", () -> "Hello world");
24+
Assertions.assertEquals("Hello world", expression.evaluate(null));
25+
}
26+
27+
@Disabled
28+
@Test
29+
public void testEvalWithParams() {
30+
var expression = Jsonata.jsonata("($eval('$greet()'))");
31+
expression.registerFunction("greet", () -> "Hello world");
32+
Assertions.assertEquals("Hello world", expression.evaluate(null));
33+
}
34+
2035
@Test
2136
public void testUnary() {
2237
var expression = Jsonata.jsonata("$echo(123)");

0 commit comments

Comments
 (0)