summaryrefslogtreecommitdiff
path: root/i18npool/qa
diff options
context:
space:
mode:
Diffstat (limited to 'i18npool/qa')
-rw-r--r--i18npool/qa/cppunit/test_breakiterator.cxx19
1 files changed, 18 insertions, 1 deletions
diff --git a/i18npool/qa/cppunit/test_breakiterator.cxx b/i18npool/qa/cppunit/test_breakiterator.cxx
index 15ce8a14318c..2c595cf9940a 100644
--- a/i18npool/qa/cppunit/test_breakiterator.cxx
+++ b/i18npool/qa/cppunit/test_breakiterator.cxx
@@ -45,7 +45,7 @@ public:
#endif
void testKhmer();
void testJapanese();
-
+ void testChinese();
CPPUNIT_TEST_SUITE(TestBreakIterator);
CPPUNIT_TEST(testLineBreaking);
CPPUNIT_TEST(testGraphemeIteration);
@@ -64,6 +64,7 @@ public:
CPPUNIT_TEST(testLao);
#endif
CPPUNIT_TEST(testJapanese);
+ CPPUNIT_TEST(testChinese);
CPPUNIT_TEST_SUITE_END();
private:
uno::Reference<i18n::XBreakIterator> m_xBreak;
@@ -938,6 +939,22 @@ void TestBreakIterator::testJapanese()
}
}
+void TestBreakIterator::testChinese()
+{
+ lang::Locale aLocale;
+ aLocale.Language = "zh";
+ aLocale.Country = "CN";
+ i18n::Boundary aBounds;
+
+ {
+ const sal_Unicode CHINESE[] = { 0x6A35, 0x6A30, 0x69FE, 0x8919, 0xD867, 0xDEDB };
+
+ OUString aTest(CHINESE, SAL_N_ELEMENTS(CHINESE));
+ aBounds = m_xBreak->getWordBoundary(aTest, 4, aLocale,
+ i18n::WordType::DICTIONARY_WORD, true);
+ CPPUNIT_ASSERT(aBounds.startPos == 4 && aBounds.endPos == 6);
+ }
+}
void TestBreakIterator::setUp()
{
BootstrapFixtureBase::setUp();