Added tests for getting non-existent fields and changed test for parser eval error
This commit is contained in:
parent
b1bfcb586c
commit
1e2c0c0a04
@ -99,7 +99,7 @@ public class GrelTests extends RefineTest {
|
||||
public void testEvalError() {
|
||||
String tests[] = {
|
||||
// "1=1", // TODO: Throws NullPointerException
|
||||
"a.value",
|
||||
"value.datePart()",
|
||||
};
|
||||
for (String test : tests) {
|
||||
try {
|
||||
@ -166,6 +166,26 @@ public class GrelTests extends RefineTest {
|
||||
parseEval(bindings, test);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetJsonFieldExists() throws ParsingException {
|
||||
String test[] = { "\"[{\\\"one\\\": \\\"1\\\"}]\".parseJson()[0].one", "1" };
|
||||
parseEval(bindings, test);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetJsonFieldAbsent() throws ParsingException {
|
||||
String test = "\"[{\\\"one\\\": \\\"1\\\"}]\".parseJson()[0].two";
|
||||
Evaluable eval = MetaParser.parse("grel:" + test);
|
||||
Assert.assertNull(eval.evaluate(bindings));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetFieldFromNull() throws ParsingException {
|
||||
String test = "null.value";
|
||||
Evaluable eval = MetaParser.parse("grel:" + test);
|
||||
Assert.assertNull(eval.evaluate(bindings));
|
||||
}
|
||||
|
||||
// to demonstrate bug fixing for #1204
|
||||
@Test
|
||||
@ -182,11 +202,11 @@ public class GrelTests extends RefineTest {
|
||||
}
|
||||
|
||||
private void parseEval(Properties bindings, String[] test)
|
||||
throws ParsingException {
|
||||
throws ParsingException {
|
||||
Evaluable eval = MetaParser.parse("grel:" + test[0]);
|
||||
Object result = eval.evaluate(bindings);
|
||||
Assert.assertEquals(result.toString(), test[1],
|
||||
"Wrong result for expression: "+test[0]);
|
||||
"Wrong result for expression: "+test[0]);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user