From ef52c63bc8d49155b92e70bb17e052f918895a79 Mon Sep 17 00:00:00 2001 From: freestrings Date: Mon, 16 Mar 2020 00:50:51 +0900 Subject: [PATCH] Bracket notation not supported inside filter expression #38 - add unit test --- tests/filter.rs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tests/filter.rs b/tests/filter.rs index 6484144..c847dab 100644 --- a/tests/filter.rs +++ b/tests/filter.rs @@ -244,4 +244,37 @@ fn bugs38_array_notation_in_filter() { ]), json!([{"key": 42}]), ); + + select_and_then_compare( + "$[?(@['key'].subKey == 'subKey2')]", + json!([ + {"key": {"seq": 1, "subKey": "subKey1"}}, + {"key": {"seq": 2, "subKey": "subKey2"}}, + {"key": 42}, + {"some": "value"} + ]), + json!([{"key": {"seq": 2, "subKey": "subKey2"}}]), + ); + + select_and_then_compare( + "$[?(@['key']['subKey'] == 'subKey2')]", + json!([ + {"key": {"seq": 1, "subKey": "subKey1"}}, + {"key": {"seq": 2, "subKey": "subKey2"}}, + {"key": 42}, + {"some": "value"} + ]), + json!([{"key": {"seq": 2, "subKey": "subKey2"}}]), + ); + + select_and_then_compare( + "$..key[?(@['subKey'] == 'subKey2')]", + json!([ + {"key": {"seq": 1, "subKey": "subKey1"}}, + {"key": {"seq": 2, "subKey": "subKey2"}}, + {"key": 42}, + {"some": "value"} + ]), + json!([{"seq": 2, "subKey": "subKey2"}]), + ); } \ No newline at end of file