test coverage
This commit is contained in:
@@ -132,12 +132,17 @@ public class Selection extends SpelNodeImpl {
|
||||
}
|
||||
return new TypedValue(result,op.getTypeDescriptor());
|
||||
} else {
|
||||
if (operand==null && nullSafe) {
|
||||
return TypedValue.NULL_TYPED_VALUE;
|
||||
if (operand==null) {
|
||||
if (nullSafe) {
|
||||
return TypedValue.NULL_TYPED_VALUE;
|
||||
} else {
|
||||
throw new SpelEvaluationException(getStartPosition(), SpelMessages.INVALID_TYPE_FOR_SELECTION,
|
||||
"null");
|
||||
}
|
||||
} else {
|
||||
throw new SpelEvaluationException(getStartPosition(), SpelMessages.INVALID_TYPE_FOR_SELECTION,
|
||||
(operand == null ? "null" : operand.getClass().getName()));
|
||||
}
|
||||
operand.getClass().getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -65,6 +65,8 @@ public class InProgressTests extends ExpressionTestCase {
|
||||
@Test
|
||||
public void testProjection05() {
|
||||
evaluateAndCheckError("'abc'.![true]", SpelMessages.PROJECTION_NOT_SUPPORTED_ON_TYPE);
|
||||
evaluateAndCheckError("null.![true]", SpelMessages.PROJECTION_NOT_SUPPORTED_ON_TYPE);
|
||||
evaluate("null?.![true]", null, null);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -95,11 +97,22 @@ public class InProgressTests extends ExpressionTestCase {
|
||||
// evaluate("listOfNumbersUpToTen.?{#this>5}", "5", ArrayList.class);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testSelection04() {
|
||||
evaluateAndCheckError("mapOfNumbersUpToTen.?['hello'].size()",SpelMessages.RESULT_OF_SELECTION_CRITERIA_IS_NOT_BOOLEAN);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSelection05() {
|
||||
evaluate("mapOfNumbersUpToTen.?[key>11].size()", "0", Integer.class);
|
||||
evaluate("mapOfNumbersUpToTen.^[key>11]", null, null);
|
||||
evaluate("mapOfNumbersUpToTen.$[key>11]", null, null);
|
||||
evaluate("null?.$[key>11]", null, null);
|
||||
evaluateAndCheckError("null.?[key>11]", SpelMessages.INVALID_TYPE_FOR_SELECTION);
|
||||
evaluateAndCheckError("'abc'.?[key>11]", SpelMessages.INVALID_TYPE_FOR_SELECTION);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSelectionFirst01() {
|
||||
evaluate("listOfNumbersUpToTen.^[#isEven(#this) == 'y']", "2", Integer.class);
|
||||
|
||||
@@ -155,6 +155,11 @@ public class ParsingTests {
|
||||
parseCheck("3>=3", "(3 >= 3)");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testElvis() {
|
||||
parseCheck("3?:1", "3 ?: 1");
|
||||
}
|
||||
|
||||
// public void testRelOperatorsIn01() {
|
||||
// parseCheck("3 in {1,2,3,4,5}", "(3 in {1,2,3,4,5})");
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user