TEST(Buffer, Append) { char * text; buffer * buf; buf = buffer_new(8); buffer_prepare(buf, 2); EXPECT_EQ(buf->size, 8); buffer_prepare(buf, 10); EXPECT_EQ(buf->size, 18); buffer_append_string(buf, "Hello"); EXPECT_EQ(buf->used, 5); buffer_append_char(buf, ' '); EXPECT_TRUE(strncmp((char*)buf->data, "Hello ", buf->used) == 0); text = strdup("WORLD"); buffer_append_data_tolower(buf, (unsigned char*) text, strlen(text)); EXPECT_TRUE(strncmp((char*)buf->data, "Hello world", buf->used) == 0); free(text); text = strdup("\nWORLD\n..."); buffer_append_string_n(buf, text, 6); EXPECT_TRUE(strncmp((char*)buf->data, "Hello world\nWORLD", buf->used) == 0); free(text); buffer_destroy(buf); }
void buffer_add(buffer_t *buffer, const char *data, int size) { memcpy(buffer_prepare(buffer, size), data, size); }