From fa3beb3694b9614895cd632a08de658dba25d444 Mon Sep 17 00:00:00 2001 From: Koichiro IWAO Date: Tue, 12 Oct 2021 11:49:50 +0900 Subject: [PATCH 1/2] tests: add tests on g_strtrim() --- tests/common/test_string_calls.c | 67 ++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/tests/common/test_string_calls.c b/tests/common/test_string_calls.c index 54750c8e..c5df8478 100644 --- a/tests/common/test_string_calls.c +++ b/tests/common/test_string_calls.c @@ -324,12 +324,72 @@ START_TEST(test_bm2str__overflow_some_bits_undefined) END_TEST /******************************************************************************/ + +START_TEST(test_strtrim__trim_left) +{ + /* setup */ + const char *input = "\t\t \tDone is better than perfect.\t\t \n\n"; + char *output = g_strdup(input); + + /* test */ + g_strtrim(output, 1); + + /* verify */ + ck_assert_str_eq(output, "Done is better than perfect.\t\t \n\n"); +} +END_TEST + +START_TEST(test_strtrim__trim_right) +{ + /* setup */ + const char *input = "\t\t \tDone is better than perfect.\t\t \n\n"; + char *output = g_strdup(input); + + /* test */ + g_strtrim(output, 2); + + /* verify */ + ck_assert_str_eq(output, "\t\t \tDone is better than perfect."); +} +END_TEST + +START_TEST(test_strtrim__trim_both) +{ + /* setup */ + const char *input = "\t\t \tDone is better than perfect.\t\t \n\n"; + char *output = g_strdup(input); + + /* test */ + g_strtrim(output, 3); + + /* verify */ + ck_assert_str_eq(output, "Done is better than perfect."); +} +END_TEST + +START_TEST(test_strtrim__trim_through) +{ + /* setup */ + const char *input = "\t\t \tDone is better than perfect.\t\t \n\n"; + char *output = g_strdup(input); + + /* test */ + g_strtrim(output, 4); + + /* verify */ + ck_assert_str_eq(output, "Doneisbetterthanperfect."); +} +END_TEST + +/******************************************************************************/ + Suite * make_suite_test_string(void) { Suite *s; TCase *tc_strnjoin; TCase *tc_bm2str; + TCase *tc_strtrim; s = suite_create("String"); @@ -355,5 +415,12 @@ make_suite_test_string(void) tcase_add_test(tc_bm2str, test_bm2str__overflow_all_bits_defined); tcase_add_test(tc_bm2str, test_bm2str__overflow_some_bits_undefined); + tc_strtrim = tcase_create("strtrim"); + suite_add_tcase(s, tc_strtrim); + tcase_add_test(tc_strtrim, test_strtrim__trim_left); + tcase_add_test(tc_strtrim, test_strtrim__trim_right); + tcase_add_test(tc_strtrim, test_strtrim__trim_both); + tcase_add_test(tc_strtrim, test_strtrim__trim_through); + return s; } From ed2fb6d739912d19e7d471f10a152ba4001c3fa7 Mon Sep 17 00:00:00 2001 From: Koichiro IWAO Date: Tue, 12 Oct 2021 17:39:27 +0900 Subject: [PATCH 2/2] tests(g_strtrim): string copy is not necessary here --- tests/common/test_string_calls.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/tests/common/test_string_calls.c b/tests/common/test_string_calls.c index c5df8478..cd15c72f 100644 --- a/tests/common/test_string_calls.c +++ b/tests/common/test_string_calls.c @@ -328,8 +328,7 @@ END_TEST START_TEST(test_strtrim__trim_left) { /* setup */ - const char *input = "\t\t \tDone is better than perfect.\t\t \n\n"; - char *output = g_strdup(input); + char output[] = "\t\t \tDone is better than perfect.\t\t \n\n"; /* test */ g_strtrim(output, 1); @@ -342,8 +341,7 @@ END_TEST START_TEST(test_strtrim__trim_right) { /* setup */ - const char *input = "\t\t \tDone is better than perfect.\t\t \n\n"; - char *output = g_strdup(input); + char output[] = "\t\t \tDone is better than perfect.\t\t \n\n"; /* test */ g_strtrim(output, 2); @@ -356,8 +354,7 @@ END_TEST START_TEST(test_strtrim__trim_both) { /* setup */ - const char *input = "\t\t \tDone is better than perfect.\t\t \n\n"; - char *output = g_strdup(input); + char output[] = "\t\t \tDone is better than perfect.\t\t \n\n"; /* test */ g_strtrim(output, 3); @@ -370,8 +367,7 @@ END_TEST START_TEST(test_strtrim__trim_through) { /* setup */ - const char *input = "\t\t \tDone is better than perfect.\t\t \n\n"; - char *output = g_strdup(input); + char output[] = "\t\t \tDone is better than perfect.\t\t \n\n"; /* test */ g_strtrim(output, 4);