JsonParser: "" is an empty string, not a null value

This commit is contained in:
Andreas Kling 2019-08-14 14:51:17 +02:00
parent f6fe56d011
commit 1ac963b5c8
2 changed files with 9 additions and 1 deletions

View file

@ -101,7 +101,7 @@ String JsonParser::consume_quoted_string()
consume_specific('"');
if (buffer.is_empty())
return {};
return String::empty();
auto& last_string_starting_with_character = m_last_string_starting_with_character[(int)buffer.first()];
if (last_string_starting_with_character.length() == buffer.size()) {

View file

@ -66,4 +66,12 @@ BENCHMARK_CASE(load_4chan_catalog)
}
}
TEST_CASE(json_empty_string)
{
auto json = JsonValue::from_string("\"\"");
EXPECT_EQ(json.type(), JsonValue::Type::String);
EXPECT_EQ(json.as_string().is_null(), false);
EXPECT_EQ(json.as_string().is_empty(), true);
}
TEST_MAIN(JSON)