diff --git a/test/test_buffer.c b/test/test_buffer.c index 7151f52..416eadd 100644 --- a/test/test_buffer.c +++ b/test/test_buffer.c @@ -11,6 +11,7 @@ START_TEST (test_new_gbuf) fail_if(buf->ref_cnt != 1); fail_if(buf->buf == NULL); fail_if(buf->used != 0); + uc_gbuf_unref(buf); END_TEST @@ -26,6 +27,7 @@ START_TEST (test_gbuf_grow) fail_if(rc != 0); fail_if(buf->len < 128 + 33); fail_if(buf->used != 0); + uc_gbuf_unref(buf); END_TEST @@ -40,6 +42,7 @@ START_TEST (test_gbuf_append1) fail_if(rc != 0); fail_if(buf->used != strlen(data) + 1); fail_if(strcmp(data, buf->buf) != 0); + uc_gbuf_unref(buf); END_TEST @@ -53,6 +56,7 @@ START_TEST (test_gbuf_printf1) fail_if(rc != 6, "rc was %d", rc); fail_if(buf->used != 6, "buf->used was %d", buf->used); fail_if(strcmp("test 1", buf->buf) != 0); + uc_gbuf_unref(buf); END_TEST @@ -66,6 +70,27 @@ START_TEST (test_gbuf_printf2) fail_if(rc != 20, "rc was %d", rc); fail_if(buf->used != 20, "buf->used was %d", buf->used); fail_if(strcmp("test 1 test 2 test 3", buf->buf) != 0); + uc_gbuf_unref(buf); + +END_TEST + +START_TEST (test_gbuf_printf3) + int rc; + GBuf *buf = uc_new_gbuf(8); + + fail_if(buf == NULL); + + rc = uc_gbuf_printf(buf, "test %d test %d test %d", 1, 2, 3); + fail_if(rc != 20, "rc was %d", rc); + fail_if(buf->used != 20, "buf->used was %d", buf->used); + fail_if(strcmp("test 1 test 2 test 3", buf->buf) != 0); + + rc = uc_gbuf_printf(buf, " test %d test %d", 4, 5); + + fail_if(rc != 14, "rc was %d", rc); + fail_if(buf->used != 34, "buf->used was %d", buf->used); + fail_if(strcmp("test 1 test 2 test 3 test 4 test 5", buf->buf) != 0); + uc_gbuf_unref(buf); END_TEST @@ -92,6 +117,7 @@ Suite *buffer_suite(void) tcase_add_test(tc, test_gbuf_grow); tcase_add_test(tc, test_gbuf_printf1); tcase_add_test(tc, test_gbuf_printf2); + tcase_add_test(tc, test_gbuf_printf3); tcase_add_test(tc, test_gbuf_printf_empty_string); suite_add_tcase(s, tc);