summaryrefslogtreecommitdiff
path: root/Tests
diff options
context:
space:
mode:
authorLuke Wilde <lukew@serenityos.org>2022-07-10 21:37:28 +0100
committerLinus Groh <mail@linusgroh.de>2022-07-10 23:31:48 +0200
commitda25ac0d48e728cb424f1fce7f266563ec6f96b0 (patch)
tree7e1d6c45561163c0263d1ea7da558eedb9a22650 /Tests
parent36c3a0fac28dd65ef91ac8604abdc10f5fd0bdba (diff)
downloadserenity-da25ac0d48e728cb424f1fce7f266563ec6f96b0.zip
AK: Treat empty string as invalid JSON
Previously we would treat the empty string as `null`. This caused JavaScript like this to fail: ```js var object = {}; try { object = JSON.parse(""); } catch {} var array = object.array || []; ``` Since `JSON.parse("")` returned null instead of throwing, it would set `object` to null and then try and use it instead of using the default backup value.
Diffstat (limited to 'Tests')
-rw-r--r--Tests/AK/TestJSON.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/Tests/AK/TestJSON.cpp b/Tests/AK/TestJSON.cpp
index 36f0b8cebc..c55d21ed66 100644
--- a/Tests/AK/TestJSON.cpp
+++ b/Tests/AK/TestJSON.cpp
@@ -126,7 +126,7 @@ TEST_CASE(json_u64_roundtrip)
TEST_CASE(json_parse_empty_string)
{
auto value = JsonValue::from_string("");
- EXPECT_EQ(value.value().is_null(), true);
+ EXPECT_EQ(value.is_error(), true);
}
TEST_CASE(json_parse_long_decimals)