cJSON_Parse{,WithOpts}: Skip UTF-8 (Byte Order Marks)

This commit is contained in:
Max Bruckner
2017-07-03 21:43:14 +02:00
parent b26e71f960
commit 5baa77f86c
3 changed files with 60 additions and 2 deletions

View File

@@ -69,6 +69,22 @@ static void parse_with_opts_should_return_parse_end(void)
cJSON_Delete(item);
}
static void parse_with_opts_should_parse_utf8_bom(void)
{
cJSON *with_bom = NULL;
cJSON *without_bom = NULL;
with_bom = cJSON_ParseWithOpts("\xEF\xBB\xBF{}", NULL, true);
TEST_ASSERT_NOT_NULL(with_bom);
without_bom = cJSON_ParseWithOpts("{}", NULL, true);
TEST_ASSERT_NOT_NULL(with_bom);
TEST_ASSERT_TRUE(cJSON_Compare(with_bom, without_bom, true));
cJSON_Delete(with_bom);
cJSON_Delete(without_bom);
}
int main(void)
{
UNITY_BEGIN();
@@ -77,6 +93,7 @@ int main(void)
RUN_TEST(parse_with_opts_should_handle_empty_strings);
RUN_TEST(parse_with_opts_should_require_null_if_requested);
RUN_TEST(parse_with_opts_should_return_parse_end);
RUN_TEST(parse_with_opts_should_parse_utf8_bom);
return UNITY_END();
}