Skip to content

Commit 1455846

Browse files
committed
Tests for conformance for UTF-8 substitution of maximal subparts
1 parent 3136ab9 commit 1455846

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

test/test_utf_util.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,14 @@ TEST_CASE( "UTF-8 to UTF-16" ) {
206206

207207
//From https://www.unicode.org/versions/Unicode10.0.0/ch03.pdf
208208
CHECK(utf16_from_utf8("\x61\xF1\x80\x80\xE1\x80\xC2\x62\x80\x63\x80\xBF\x64") == u"a���b�c��d");
209+
210+
//From https://www.unicode.org/versions/Unicode16.0.0/core-spec/chapter-3
211+
CHECK(utf16_from_utf8("\xC2\x41\x42") == u"\uFFFD\u0041\u0042");
212+
CHECK(utf16_from_utf8("\xF0\x80\x80\x41") == u"\uFFFD\uFFFD\uFFFD\u0041");
213+
CHECK(utf16_from_utf8("\xC0\xAF\xE0\x80\xBF\xF0\x81\x82\x41") == u"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0041");
214+
CHECK(utf16_from_utf8("\xED\xA0\x80\xED\xBF\xBF\xED\xAF\x41") == u"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0041");
215+
CHECK(utf16_from_utf8("\xF4\x91\x92\x93\xFF\x41\x80\xBF\x42") == u"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0041\uFFFD\uFFFD\u0042");
216+
CHECK(utf16_from_utf8("\xE1\x80\xE2\xF0\x91\x92\xF1\xBF\x41") == u"\uFFFD\uFFFD\uFFFD\uFFFD\u0041");
209217
}
210218

211219
}

0 commit comments

Comments
 (0)