1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-01 15:26:37 +02:00

tests: add tests on function string_rebuild_split_string with empty items

This commit is contained in:
Sébastien Helleu
2024-09-07 08:27:26 +02:00
parent 82a425d226
commit 90ba9264de
+43
View File
@@ -2126,6 +2126,7 @@ TEST(CoreString, RebuildSplitString)
| WEECHAT_STRING_SPLIT_STRIP_RIGHT
| WEECHAT_STRING_SPLIT_COLLAPSE_SEPS;
argv = string_split (" abc de fghi ", " ", NULL, flags, 0, &argc);
/* => ["abc", "de", "fghi"] */
/* invalid index_end, which is < index_start */
str = string_rebuild_split_string ((const char **)argv, NULL, 1, 0);
@@ -2218,6 +2219,48 @@ TEST(CoreString, RebuildSplitString)
free (str);
string_free_split (argv);
/* test with empty items */
argv = string_split (",abc,de,,fghi,", ",", NULL, 0, 0, &argc);
/* => ["", "abc", "de", "", "fghi", ""] */
str = string_rebuild_split_string ((const char **)argv, "/", 0, -1);
STRCMP_EQUAL("/abc/de//fghi/", str);
free (str);
str = string_rebuild_split_string ((const char **)argv, "/", 0, 0);
STRCMP_EQUAL("", str);
free (str);
str = string_rebuild_split_string ((const char **)argv, "/", 0, 1);
STRCMP_EQUAL("/abc", str);
free (str);
str = string_rebuild_split_string ((const char **)argv, "/", 0, 2);
STRCMP_EQUAL("/abc/de", str);
free (str);
str = string_rebuild_split_string ((const char **)argv, "/", 0, 3);
STRCMP_EQUAL("/abc/de/", str);
free (str);
str = string_rebuild_split_string ((const char **)argv, "/", 0, 4);
STRCMP_EQUAL("/abc/de//fghi", str);
free (str);
str = string_rebuild_split_string ((const char **)argv, "/", 0, 5);
STRCMP_EQUAL("/abc/de//fghi/", str);
free (str);
str = string_rebuild_split_string ((const char **)argv, "/", 0, 6);
STRCMP_EQUAL("/abc/de//fghi/", str);
free (str);
str = string_rebuild_split_string ((const char **)argv, "/", 2, 4);
STRCMP_EQUAL("de//fghi", str);
free (str);
string_free_split (argv);
}
/*