diff --git a/src/test/test-extract-word.c b/src/test/test-extract-word.c index 32c01b99fd..0f10fe7e6f 100644 --- a/src/test/test-extract-word.c +++ b/src/test/test-extract-word.c @@ -533,6 +533,20 @@ TEST(extract_first_word) { assert_se(streq(t, "a:a")); assert_se(streq(p, ":b")); free(t); + + p = original = "zaΕΌΓ³Ε‚ciΔ‡ πŸ‘ŠπŸ”ͺπŸ’ κ°€λ„ˆλ„λ£¨"; + assert_se(extract_first_word(&p, &t, NULL, 0) > 0); + assert_se(streq(t, "zaΕΌΓ³Ε‚ciΔ‡")); + free(t); + assert_se(p == original + 13); + + assert_se(extract_first_word(&p, &t, NULL, 0) > 0); + assert_se(streq(t, "πŸ‘ŠπŸ”ͺπŸ’")); + free(t); + assert_se(extract_first_word(&p, &t, NULL, 0) > 0); + assert_se(streq(t, "κ°€λ„ˆλ„λ£¨")); + free(t); + assert_se(isempty(p)); } TEST(extract_first_word_and_warn) { @@ -758,6 +772,16 @@ TEST(extract_many_words) { assert_se(isempty(p)); assert_se(streq_ptr(a, "foobar")); free(a); + + p = original = "gΔ™Ε›lΔ…:πŸ‘ŠπŸ”ͺπŸ’ κ°€λ„ˆλ„λ£¨"; + assert_se(extract_many_words(&p, ":" WHITESPACE, 0, &a, &b, &c) == 3); + assert_se(isempty(p)); + assert_se(streq(a, "gΔ™Ε›lΔ…")); + assert_se(streq(b, "πŸ‘ŠπŸ”ͺπŸ’")); + assert_se(streq(c, "κ°€λ„ˆλ„λ£¨")); + free(a); + free(b); + free(c); } DEFINE_TEST_MAIN(LOG_INFO);