diff options
author | Norbert Preining <norbert@preining.info> | 2020-12-01 03:01:08 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2020-12-01 03:01:08 +0000 |
commit | 13dc4c947f3b419fc1b2ed24f10d69c841b0a37b (patch) | |
tree | b70e11ae7d2e2d77221ef406a555d4f7e52fbaf7 /dviware/dvisvgm/tests/UnicodeTest.cpp | |
parent | cb68d38823870fa7adb5f0c2b68cf59205dd4bec (diff) |
CTAN sync 202012010301
Diffstat (limited to 'dviware/dvisvgm/tests/UnicodeTest.cpp')
-rw-r--r-- | dviware/dvisvgm/tests/UnicodeTest.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/dviware/dvisvgm/tests/UnicodeTest.cpp b/dviware/dvisvgm/tests/UnicodeTest.cpp index dc4e77d165..109b63f1ec 100644 --- a/dviware/dvisvgm/tests/UnicodeTest.cpp +++ b/dviware/dvisvgm/tests/UnicodeTest.cpp @@ -64,6 +64,40 @@ TEST(UnicodeTest, utf8) { } +TEST(UnicodeTest, fromSurrogate1) { + EXPECT_EQ(Unicode::fromSurrogate(0xd800dc00), 0x10000u); + EXPECT_EQ(Unicode::fromSurrogate(0xd83cdd10), 0x1f110u); + + // invalid surrogates + EXPECT_EQ(Unicode::fromSurrogate(0xd7ffdc00), 0u); + EXPECT_EQ(Unicode::fromSurrogate(0xdc00dc00), 0u); + EXPECT_EQ(Unicode::fromSurrogate(0xd800dbff), 0u); + EXPECT_EQ(Unicode::fromSurrogate(0xd800e000), 0u); +} + + +TEST(UnicodeTest, fromSurrogate2) { + EXPECT_EQ(Unicode::fromSurrogate(0xd800, 0xdc00), 0x10000u); + EXPECT_EQ(Unicode::fromSurrogate(0xd83c, 0xdd10), 0x1f110u); + + // invalid surrogates + EXPECT_EQ(Unicode::fromSurrogate(0xd7ff, 0xdc00), 0u); + EXPECT_EQ(Unicode::fromSurrogate(0xdc00, 0xdc00), 0u); + EXPECT_EQ(Unicode::fromSurrogate(0xd800, 0xdbff), 0u); + EXPECT_EQ(Unicode::fromSurrogate(0xd800, 0xe000), 0u); +} + + +TEST(UnicodeTest, toSurrogate) { + EXPECT_EQ(Unicode::toSurrogate(0x10000), 0xd800dc00u); + EXPECT_EQ(Unicode::toSurrogate(0x1f110), 0xd83cdd10u); + + // invalid code points + EXPECT_EQ(Unicode::toSurrogate(0xffff), 0u); + EXPECT_EQ(Unicode::toSurrogate(0x110000), 0u); +} + + TEST(UnicodeTest, aglNameToCodepoint1) { EXPECT_EQ(Unicode::aglNameToCodepoint("does not exist"), 0); EXPECT_EQ(Unicode::aglNameToCodepoint("Eogonek"), 0x118); |