diff options
Diffstat (limited to 'src/test/test-replace-var.c')
-rw-r--r-- | src/test/test-replace-var.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/test/test-replace-var.c b/src/test/test-replace-var.c new file mode 100644 index 0000000..f861b27 --- /dev/null +++ b/src/test/test-replace-var.c @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ + +#include <stdio.h> + +#include "macro.h" +#include "replace-var.h" +#include "string-util.h" +#include "tests.h" + +static char *lookup(const char *variable, void *userdata) { + return strjoin("<<<", variable, ">>>"); +} + +TEST(replace_var) { + char *r; + + assert_se(r = replace_var("@@@foobar@xyz@HALLO@foobar@test@@testtest@TEST@...@@@", lookup, NULL)); + puts(r); + assert_se(streq(r, "@@@foobar@xyz<<<HALLO>>>foobar@test@@testtest<<<TEST>>>...@@@")); + free(r); +} + +TEST(strreplace) { + char *r; + + assert_se(r = strreplace("XYZFFFFXYZFFFFXYZ", "XYZ", "ABC")); + puts(r); + assert_se(streq(r, "ABCFFFFABCFFFFABC")); + free(r); +} + +DEFINE_TEST_MAIN(LOG_INFO); |