diff options
Diffstat (limited to 'vespalib/src/tests/fastlib/text/unicodeutiltest.cpp')
-rw-r--r-- | vespalib/src/tests/fastlib/text/unicodeutiltest.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/vespalib/src/tests/fastlib/text/unicodeutiltest.cpp b/vespalib/src/tests/fastlib/text/unicodeutiltest.cpp new file mode 100644 index 00000000000..d734b3b6aab --- /dev/null +++ b/vespalib/src/tests/fastlib/text/unicodeutiltest.cpp @@ -0,0 +1,31 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#include <vespa/fastlib/text/unicodeutil.h> +#include <vespa/vespalib/testkit/test_kit.h> + +TEST("GetUTF8Char_WrongInput") { + const char *testdata = "ab\xF8"; + + ucs4_t the_char = 0; + + const unsigned char *src = reinterpret_cast<const unsigned char *>(testdata); + while (*src != 0) { + the_char = Fast_UnicodeUtil::GetUTF8Char(src); + } + EXPECT_EQUAL(Fast_UnicodeUtil::_BadUTF8Char, the_char); +} + +TEST("IsTerminalPunctuationChar") { + // test a small selection + + EXPECT_TRUE(Fast_UnicodeUtil::IsTerminalPunctuationChar('!')); + EXPECT_TRUE(Fast_UnicodeUtil::IsTerminalPunctuationChar(',')); + EXPECT_TRUE(Fast_UnicodeUtil::IsTerminalPunctuationChar('.')); + EXPECT_TRUE(Fast_UnicodeUtil::IsTerminalPunctuationChar(':')); + EXPECT_TRUE(Fast_UnicodeUtil::IsTerminalPunctuationChar(';')); + EXPECT_FALSE(Fast_UnicodeUtil::IsTerminalPunctuationChar(' ')); + EXPECT_FALSE(Fast_UnicodeUtil::IsTerminalPunctuationChar('a')); + EXPECT_FALSE(Fast_UnicodeUtil::IsTerminalPunctuationChar('A')); +} + +TEST_MAIN() { TEST_RUN_ALL(); }
\ No newline at end of file |