/* See LICENSE file for copyright and license details. */ #include #include #include #define assert(c) if (c == 0) { printf("%s:%d\n", __FILE__, __LINE__); exit(1);} #define log(str) printf("%s: %s\n", __func__, str); void test_split1() { log("Running..."); char *str = "STR_1\nSTR_2"; int size; char **tokens = strsplit(str, '\n', &size); assert(size == 2); assert(strncmp("STR_1", tokens[0], 5) == 0); assert(strncmp("STR_2", tokens[1], 5) == 0); log("OK\n"); } void test_split2() { log("Running..."); char *str = "\nSTR_1\nSTR_2"; int size; char **tokens = strsplit(str, '\n', &size); assert(size == 3); assert(strlen(tokens[0]) == 0); assert(strncmp("STR_1", tokens[1], 5) == 0); assert(strncmp("STR_2", tokens[2], 5) == 0); log("OK\n"); }