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);
}
Example #2
0
void buffer_add(buffer_t *buffer, const char *data, int size) {
	memcpy(buffer_prepare(buffer, size), data, size);
}