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);