|
|
@ -410,6 +410,30 @@ static void cjson_functions_shouldnt_crash_with_null_pointers(void) |
|
|
|
cJSON_Delete(item); |
|
|
|
} |
|
|
|
|
|
|
|
static void skip_utf8_bom_should_skip_bom(void) |
|
|
|
{ |
|
|
|
const unsigned char string[] = "\xEF\xBB\xBF{}"; |
|
|
|
parse_buffer buffer = { 0, 0, 0, 0, { 0, 0, 0 } }; |
|
|
|
buffer.content = string; |
|
|
|
buffer.length = sizeof(string); |
|
|
|
buffer.hooks = global_hooks; |
|
|
|
|
|
|
|
TEST_ASSERT_TRUE(skip_utf8_bom(&buffer) == &buffer); |
|
|
|
TEST_ASSERT_EQUAL_UINT(3U, (unsigned int)buffer.offset); |
|
|
|
} |
|
|
|
|
|
|
|
static void skip_utf8_bom_should_not_skip_bom_if_not_at_beginning(void) |
|
|
|
{ |
|
|
|
const unsigned char string[] = " \xEF\xBB\xBF{}"; |
|
|
|
parse_buffer buffer = { 0, 0, 0, 0, { 0, 0, 0 } }; |
|
|
|
buffer.content = string; |
|
|
|
buffer.length = sizeof(string); |
|
|
|
buffer.hooks = global_hooks; |
|
|
|
buffer.offset = 1; |
|
|
|
|
|
|
|
TEST_ASSERT_NULL(skip_utf8_bom(&buffer)); |
|
|
|
} |
|
|
|
|
|
|
|
int main(void) |
|
|
|
{ |
|
|
|
UNITY_BEGIN(); |
|
|
@ -425,6 +449,8 @@ int main(void) |
|
|
|
RUN_TEST(cjson_replace_item_via_pointer_should_replace_items); |
|
|
|
RUN_TEST(cjson_replace_item_in_object_should_preserve_name); |
|
|
|
RUN_TEST(cjson_functions_shouldnt_crash_with_null_pointers); |
|
|
|
RUN_TEST(skip_utf8_bom_should_skip_bom); |
|
|
|
RUN_TEST(skip_utf8_bom_should_not_skip_bom_if_not_at_beginning); |
|
|
|
|
|
|
|
return UNITY_END(); |
|
|
|
} |
|
|
|