diff options
Diffstat (limited to 'src/test/test-util.c')
-rw-r--r-- | src/test/test-util.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/test/test-util.c b/src/test/test-util.c index f1403fa393..7af41bcb18 100644 --- a/src/test/test-util.c +++ b/src/test/test-util.c @@ -416,11 +416,10 @@ static void test_cescape(void) { static void test_cunescape(void) { _cleanup_free_ char *unescaped; - const char *x = "abc\\\"\b\f\a\n\r\t\v\003\177\234\313\\000\\x00"; assert_se(cunescape("abc\\\\\\\"\\b\\f\\a\\n\\r\\t\\v\\003\\177\\234\\313\\000\\x00", 0, &unescaped) < 0); assert_se(cunescape("abc\\\\\\\"\\b\\f\\a\\n\\r\\t\\v\\003\\177\\234\\313\\000\\x00", UNESCAPE_RELAX, &unescaped) >= 0); - assert_se(streq_ptr(unescaped, x)); + assert_se(streq_ptr(unescaped, "abc\\\"\b\f\a\n\r\t\v\003\177\234\313\\000\\x00")); free(unescaped); unescaped = NULL; @@ -452,6 +451,12 @@ static void test_cunescape(void) { assert_se(cunescape("\\1", 0, &unescaped) < 0); assert_se(cunescape("\\1", UNESCAPE_RELAX, &unescaped) >= 0); assert_se(streq_ptr(unescaped, "\\1")); + free(unescaped); + unescaped = NULL; + + assert_se(cunescape("\\u0000", 0, &unescaped) < 0); + assert_se(cunescape("\\u00DF\\U000000df\\u03a0\\U00000041", UNESCAPE_RELAX, &unescaped) >= 0); + assert_se(streq_ptr(unescaped, "ßßΠA")); } static void test_foreach_word(void) { |