@@ -426,6 +426,32 @@
#endif
}
+void
+test_buffer_chomp(void **state)
+{
+ struct gc_arena gc = gc_new();
+ struct buffer buf = alloc_buf_gc(1024, &gc);
+
+ const char test1[] = "There is a nice 1234 year old tree!\n\r";
+ buf_write(&buf, test1, sizeof(test1));
+ buf_chomp(&buf);
+ /* Check that our own method agrees */
+ assert_true(string_check_buf(&buf, CC_PRINT | CC_NULL, CC_CRLF));
+ assert_string_equal(BSTR(&buf), "There is a nice 1234 year old tree!");
+
+ struct buffer buf2 = alloc_buf_gc(1024, &gc);
+ const char test2[] = "CR_RESPONSE,MTIx\x0a\x00";
+ buf_write(&buf2, test2, sizeof(test2));
+ buf_chomp(&buf2);
+
+ buf_chomp(&buf2);
+ /* Check that our own method agrees */
+ assert_true(string_check_buf(&buf2, CC_PRINT | CC_NULL, CC_CRLF));
+ assert_string_equal(BSTR(&buf2), "CR_RESPONSE,MTIx");
+
+ gc_free(&gc);
+}
+
int
main(void)
{
@@ -460,7 +486,8 @@
cmocka_unit_test(test_buffer_gc_realloc),
cmocka_unit_test(test_character_class),
cmocka_unit_test(test_character_string_mod_buf),
- cmocka_unit_test(test_snprintf)
+ cmocka_unit_test(test_snprintf),
+ cmocka_unit_test(test_buffer_chomp)
};
return cmocka_run_group_tests_name("buffer", tests, NULL, NULL);