diff --git a/json-path/src/main/java/com/jayway/jsonpath/reader/PathTokenizer.java b/json-path/src/main/java/com/jayway/jsonpath/reader/PathTokenizer.java index 784f3a10..eb5ee88e 100644 --- a/json-path/src/main/java/com/jayway/jsonpath/reader/PathTokenizer.java +++ b/json-path/src/main/java/com/jayway/jsonpath/reader/PathTokenizer.java @@ -149,7 +149,7 @@ public class PathTokenizer implements Iterable { src = trimLeft(src, "?"); src = trimLeft(src, "@"); - if (src.length() > 5 && src.subSequence(0, 2).equals("['")) { + if (src.length() >= 5 && src.subSequence(0, 2).equals("['")) { src = src.substring(2); src = src.substring(0, src.length() - 2); } diff --git a/json-path/src/test/java/com/jayway/jsonpath/ComplianceTests.java b/json-path/src/test/java/com/jayway/jsonpath/ComplianceTests.java index 794ff5fc..64fbd224 100644 --- a/json-path/src/test/java/com/jayway/jsonpath/ComplianceTests.java +++ b/json-path/src/test/java/com/jayway/jsonpath/ComplianceTests.java @@ -1,5 +1,7 @@ package com.jayway.jsonpath; +import com.jayway.jsonpath.reader.PathToken; +import com.jayway.jsonpath.reader.PathTokenizer; import org.hamcrest.Matchers; import org.junit.Test; @@ -15,8 +17,6 @@ import static org.junit.Assert.assertThat; */ public class ComplianceTests { - - @Test public void test_one() throws Exception { @@ -24,12 +24,12 @@ public class ComplianceTests { " b: \"b\",\n" + " \"c d\": \"e\" \n" + " }"; - - assertThat(JsonPath.read(json, "$.a"), is(equalTo("a"))); + + assertThat(JsonPath.read(json, "$.a"), equalTo("a")); assertThat(JsonPath.>read(json, "$.*"), hasItems("a", "b", "e")); assertThat(JsonPath.>read(json, "$['*']"), hasItems("a", "b", "e")); + assertThat(JsonPath.read(json, "$['a']"), equalTo("a")); - //assertThat(JsonPath.read(json, "$['a']"), is(equalTo("a"))); //high //assertThat(JsonPath.read(json, "$.'c d'"), is(equalTo("e"))); //low //assertThat(JsonPath.>read(json, "$[*]"), hasItems("a", "b", "e")); //low diff --git a/json-path/src/test/java/com/jayway/jsonpath/SplitPathFragmentsTest.java b/json-path/src/test/java/com/jayway/jsonpath/SplitPathFragmentsTest.java index 8e5b4cc0..c7df6f7b 100644 --- a/json-path/src/test/java/com/jayway/jsonpath/SplitPathFragmentsTest.java +++ b/json-path/src/test/java/com/jayway/jsonpath/SplitPathFragmentsTest.java @@ -20,6 +20,8 @@ public class SplitPathFragmentsTest { private JsonProvider jsonProvider = JsonProvider.getInstance(); + + @Test public void array_filter_bracket_test() throws Exception {