Browse Source

Criteria improvement.

pull/55/head
Kalle Stenflo 10 years ago
parent
commit
34ef58cba9
  1. 6
      json-path/src/main/java/com/jayway/jsonpath/Criteria.java

6
json-path/src/main/java/com/jayway/jsonpath/Criteria.java

@ -281,17 +281,13 @@ public class Criteria implements Predicate {
if (CriteriaType.EXISTS == criteriaType) { if (CriteriaType.EXISTS == criteriaType) {
boolean exists = ((Boolean) expected); boolean exists = ((Boolean) expected);
try { try {
Configuration c = ctx.configuration(); Configuration c = Configuration.builder().jsonProvider(ctx.configuration().getProvider()).options().build();
if(c.containsOption(Option.ALWAYS_RETURN_LIST) || c.containsOption(Option.SUPPRESS_EXCEPTIONS)){
c = c.options();
}
path.evaluate(ctx.target(), c).getValue(); path.evaluate(ctx.target(), c).getValue();
return exists; return exists;
} catch (PathNotFoundException e) { } catch (PathNotFoundException e) {
return !exists; return !exists;
} }
} else { } else {
try { try {
final Object actual = path.evaluate(ctx.target(), ctx.configuration()).getValue(); final Object actual = path.evaluate(ctx.target(), ctx.configuration()).getValue();
return criteriaType.eval(expected, actual, ctx.configuration()); return criteriaType.eval(expected, actual, ctx.configuration());

Loading…
Cancel
Save