void ape_array_add_n(ape_array_t *array, const char *key, int klen, const char *value, int vlen) { buffer *k, *v; k = buffer_new(klen+1); v = buffer_new(vlen+1); buffer_append_string_n(k, key, klen); buffer_append_string_n(v, value, vlen); ape_array_add_b(array, k, v); }
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); }