add more tests

This commit is contained in:
Joseph Olabisi
2025-07-21 21:15:03 +01:00
parent 29ef75c783
commit f0cdafa857
+36 -1
View File
@@ -322,8 +322,15 @@ bool json_path_with_wildcard() {
"0123-4267-8910",
"0103-4567-8910"
]
},
{ },
{
"type": "office",
"numbers": [ ]
}
]
],
"empty_object": { },
"empty_array": [ ]
})"_padded;
dom::parser parser;
@@ -411,6 +418,34 @@ bool json_path_with_wildcard() {
ASSERT_EQUAL(string_value, expected_numbers[i]);
}
// $.phoneNumbers[*].numbers[1]
result = parsed_json.at_path_with_wildcard("$.phoneNumbers[*].numbers[1]");
values = result.value();
ASSERT_SUCCESS(values[0].get(string_value));
ASSERT_EQUAL(string_value, expected_numbers[1]);
ASSERT_SUCCESS(values[1].get(string_value));
ASSERT_EQUAL(string_value, expected_numbers[4]);
// $.empty_object.*
result = parsed_json.at_path_with_wildcard("$.empty_object.*");
values = result.value();
ASSERT_EQUAL(values.size(), 0);
// $.empty_array.*
result = parsed_json.at_path_with_wildcard("$.empty_array.*");
values = result.value();
ASSERT_EQUAL(values.size(), 0);
// $.phoneNumbers.*.numbers[3]
result = parsed_json.at_path_with_wildcard("$.phoneNumbers.*.numbers[3]");
values = result.value();
ASSERT_EQUAL(values.size(), 0);
TEST_SUCCEED();
}