diff --git a/test_keywordset.c b/test_keywordset.c index 464ae3c0..cbaa401c 100644 --- a/test_keywordset.c +++ b/test_keywordset.c @@ -23,6 +23,16 @@ static void test_update(struct keywordset *kws, char *update, char *expect) { free(init); } +static void test_add(struct keywordset *kws, char *add, char *expect) { + char *init = keywordset_get(kws); + keywordset_add(kws, add); + char *s = keywordset_get(kws); + if (strcmp(s, expect)) + fprintf(stderr, "FAIL: add '%s' with '%s' got '%s' expected '%s'\n", init, add, s, expect); + free(s); + free(init); +} + int main() { test_new(NULL, ""); @@ -52,4 +62,9 @@ int main() { test_update(kws, "+ab", "ab abcdef"); test_update(kws, "+abcdefgh", "ab abcdef abcdefgh"); keywordset_free(kws); + + kws = keywordset_new("x x x"); + test_add(kws, "a b c", "a b c x"); + test_add(kws, "-x +y", "+y -x a b c x"); + keywordset_free(kws); }