Add null tests
This commit is contained in:
parent
a90e1637cb
commit
00f9bb8a07
|
@ -256,7 +256,7 @@ SIMDJSON_WARN_UNUSED simdjson_result<bool> json_iterator::consume_root_bool() no
|
||||||
simdjson_really_inline bool json_iterator::root_is_null(const uint8_t *json) noexcept {
|
simdjson_really_inline bool json_iterator::root_is_null(const uint8_t *json) noexcept {
|
||||||
uint8_t tmpbuf[4+1];
|
uint8_t tmpbuf[4+1];
|
||||||
if (!copy_to_buffer(json, tmpbuf)) { return false; }
|
if (!copy_to_buffer(json, tmpbuf)) { return false; }
|
||||||
return is_null();
|
return is_null(tmpbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
SIMDJSON_WARN_UNUSED simdjson_really_inline error_code json_iterator::skip() noexcept {
|
SIMDJSON_WARN_UNUSED simdjson_really_inline error_code json_iterator::skip() noexcept {
|
||||||
|
|
|
@ -410,17 +410,42 @@ namespace dom_api_tests {
|
||||||
TEST_SUCCEED();
|
TEST_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
||||||
// bool null_value() {
|
bool null_value() {
|
||||||
// TEST_START();
|
TEST_START();
|
||||||
// auto json = R"([ null ])"_padded;
|
auto json = "null"_padded;
|
||||||
// ondemand::parser parser;
|
SUBTEST("ondemand::document", test_ondemand_doc(json, [&](auto doc_result) {
|
||||||
// ondemand::array array;
|
ondemand::document doc;
|
||||||
// ASSERT_SUCCESS( parser.iterate(json).get(array) );
|
ASSERT_SUCCESS( std::move(doc_result).get(doc) );
|
||||||
|
ASSERT_EQUAL( doc.is_null(), true );
|
||||||
// auto val = array.begin();
|
return true;
|
||||||
// ASSERT_EQUAL( !(*val).is_null(), 0 );
|
}));
|
||||||
// return true;
|
SUBTEST("simdjson_result<ondemand::document>", test_ondemand_doc(json, [&](auto doc_result) {
|
||||||
// }
|
ASSERT_EQUAL( doc_result.is_null(), true );
|
||||||
|
return true;
|
||||||
|
}));
|
||||||
|
json = "[null]"_padded;
|
||||||
|
SUBTEST("ondemand::value", test_ondemand_doc(json, [&](auto doc_result) {
|
||||||
|
int count = 0;
|
||||||
|
for (auto value_result : doc_result) {
|
||||||
|
ondemand::value value;
|
||||||
|
ASSERT_SUCCESS( std::move(value_result).get(value) );
|
||||||
|
ASSERT_EQUAL( value.is_null(), true );
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
ASSERT_EQUAL( count, 1 );
|
||||||
|
return true;
|
||||||
|
}));
|
||||||
|
SUBTEST("simdjson_result<ondemand::value>", test_ondemand_doc(json, [&](auto doc_result) {
|
||||||
|
int count = 0;
|
||||||
|
for (auto value_result : doc_result) {
|
||||||
|
ASSERT_EQUAL( value_result.is_null(), true );
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
ASSERT_EQUAL( count, 1 );
|
||||||
|
return true;
|
||||||
|
}));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// bool document_object_index() {
|
// bool document_object_index() {
|
||||||
// TEST_START();
|
// TEST_START();
|
||||||
|
@ -699,7 +724,7 @@ namespace dom_api_tests {
|
||||||
string_value() &&
|
string_value() &&
|
||||||
numeric_values() &&
|
numeric_values() &&
|
||||||
boolean_values() &&
|
boolean_values() &&
|
||||||
// null_value() &&
|
null_value() &&
|
||||||
// document_object_index() &&
|
// document_object_index() &&
|
||||||
// object_index() &&
|
// object_index() &&
|
||||||
// twitter_count() &&
|
// twitter_count() &&
|
||||||
|
|
Loading…
Reference in New Issue