diff options
author | Luke Wilde <lukew@serenityos.org> | 2022-07-10 21:37:28 +0100 |
---|---|---|
committer | Linus Groh <mail@linusgroh.de> | 2022-07-10 23:31:48 +0200 |
commit | da25ac0d48e728cb424f1fce7f266563ec6f96b0 (patch) | |
tree | 7e1d6c45561163c0263d1ea7da558eedb9a22650 /Tests | |
parent | 36c3a0fac28dd65ef91ac8604abdc10f5fd0bdba (diff) | |
download | serenity-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.cpp | 2 |
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) |