Browse Source

Creates function to know if a jsonPath is a function or not

pull/867/head
fpinatares 2 years ago
parent
commit
146546ec02
  1. 11
      json-path/src/main/java/com/jayway/jsonpath/JsonPath.java
  2. 6
      json-path/src/test/java/com/jayway/jsonpath/PathCompilerTest.java

11
json-path/src/main/java/com/jayway/jsonpath/JsonPath.java

@ -496,6 +496,17 @@ public class JsonPath {
} }
} }
/**
* As JsonPath accepts a vary number of functions like min(), max(),
* avg(), stddev(), length(), sum(), keys(), concat(X), append(X),
* this function will return true if the path is a function
*
* @return true if the path is a function
*/
public Boolean isFunctionPath() {
return path.isFunctionPath();
}
// -------------------------------------------------------- // --------------------------------------------------------
// //
// Static factory methods // Static factory methods

6
json-path/src/test/java/com/jayway/jsonpath/PathCompilerTest.java

@ -304,6 +304,12 @@ public class PathCompilerTest {
assertThat(compile("$.aaa.foo(5,10,15)").toString()).isEqualTo("$['aaa'].foo(...)"); assertThat(compile("$.aaa.foo(5,10,15)").toString()).isEqualTo("$['aaa'].foo(...)");
} }
@Test
public void path_is_a_function() {
assertThat(compile("concat($.aaa, $.bbb)").isFunctionPath()).isTrue();
assertThat(compile("$.aaa").isFunctionPath()).isFalse();
}
@Test(expected = InvalidPathException.class) @Test(expected = InvalidPathException.class)
public void array_indexes_must_be_separated_by_commas() { public void array_indexes_must_be_separated_by_commas() {
compile("$[0, 1, 2 4]"); compile("$[0, 1, 2 4]");

Loading…
Cancel
Save