diff --git a/srcs/JsonBuffer.cpp b/srcs/JsonBuffer.cpp index 8c07cec1..5d1228f9 100644 --- a/srcs/JsonBuffer.cpp +++ b/srcs/JsonBuffer.cpp @@ -22,6 +22,8 @@ JsonArray JsonBuffer::parseArray(const char* json) { JsonNode* root; + while(*json == ' ') json++; + if (json[0] == '[') { root = createNode(); diff --git a/tests/JsonArray_Parser_Tests.cpp b/tests/JsonArray_Parser_Tests.cpp index 9f88d40e..e6baa36b 100644 --- a/tests/JsonArray_Parser_Tests.cpp +++ b/tests/JsonArray_Parser_Tests.cpp @@ -15,6 +15,14 @@ TEST_F(JsonArray_Parser_Tests, EmptyArray) EXPECT_EQ(0, array.size()); } +TEST_F(JsonArray_Parser_Tests, EmptyArrayWithLeadingSpaces) +{ + JsonArray array = json.parseArray(" []"); + + EXPECT_TRUE(array.success()); + EXPECT_EQ(0, array.size()); +} + TEST_F(JsonArray_Parser_Tests, Garbage) { JsonArray array = json.parseArray("%*$£¤");