From: Aki Tuomi Date: Fri, 20 Oct 2017 11:10:41 +0000 (+0300) Subject: test-unichar: Add test for surrogate handling X-Git-Tag: 2.3.0.rc1~781 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9b26e0815de529575947efcf62b90d6e220d83a6;p=thirdparty%2Fdovecot%2Fcore.git test-unichar: Add test for surrogate handling --- diff --git a/src/lib/test-unichar.c b/src/lib/test-unichar.c index d16040ebbb..71cef28c8b 100644 --- a/src/lib/test-unichar.c +++ b/src/lib/test-unichar.c @@ -107,6 +107,20 @@ static void test_unichar_valid_unicode(void) test_end(); } +static void test_unichar_surrogates(void) +{ + unichar_t orig, high, low; + test_begin("unichar surrogates"); + + orig = 0x10437; + uni_split_surrogate(orig, &high, &low); + test_assert(high == 0xD801); + test_assert(low == 0xDC37); + test_assert(uni_join_surrogate(high, low) == orig); + + test_end(); +} + void test_unichar(void) { static const char overlong_utf8[] = "\xf8\x80\x95\x81\xa1"; @@ -167,4 +181,5 @@ void test_unichar(void) test_unichar_uni_utf8_strlen(); test_unichar_uni_utf8_partial_strlen_n(); test_unichar_valid_unicode(); + test_unichar_surrogates(); }