From 569e544a1028745927205585836eff7feb14b934 Mon Sep 17 00:00:00 2001 From: Kalle Stenflo Date: Wed, 9 Dec 2015 17:20:20 +0100 Subject: [PATCH] Tests covering issue #166 --- .../com/jayway/jsonpath/DeepScanTest.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/json-path/src/test/java/com/jayway/jsonpath/DeepScanTest.java b/json-path/src/test/java/com/jayway/jsonpath/DeepScanTest.java index e98ee62f..17994b11 100644 --- a/json-path/src/test/java/com/jayway/jsonpath/DeepScanTest.java +++ b/json-path/src/test/java/com/jayway/jsonpath/DeepScanTest.java @@ -304,4 +304,34 @@ public class DeepScanTest extends BaseTest { assertThat(result).hasSize(1); } + @Test + public void deepScanPathDefault() { + executeScanPath(); + } + + @Test + public void deepScanPathRequireProperties() { + executeScanPath(Option.REQUIRE_PROPERTIES); + } + + private void executeScanPath(Option... options) { + String json = "{'index': 'index', 'data': {'array': [{ 'object1': { 'name': 'robert'} }]}}"; + Map expected = new HashMap() {{ + put("object1", new HashMap() {{ + put("name", "robert"); + }}); + }}; + + Configuration configuration = Configuration + .builder() + .options(options) + .build(); + + List> result = JsonPath + .using(configuration) + .parse(json) + .read("$..array[0]"); + assertThat(result.get(0)).isEqualTo(expected); + } + }