[Libreoffice-commits] core.git: i18npool/qa i18npool/source
Robert M Campbell
robert.rcampbell at gmail.com
Wed Nov 13 08:26:20 PST 2013
i18npool/qa/cppunit/test_breakiterator.cxx | 25 ++++++++++++++++
i18npool/source/breakiterator/breakiterator_unicode.cxx | 2 -
2 files changed, 26 insertions(+), 1 deletion(-)
New commits:
commit f24fa8efad247bdc296e4724b914f73f01ef2d0b
Author: Robert M Campbell <robert.rcampbell at gmail.com>
Date: Wed Nov 13 23:15:13 2013 +0700
Add Lao breakiterator support for selecting and counting Lao words.
Change-Id: I6da721dc25394dfee12e3028aefbf0546d1be984
Reviewed-on: https://gerrit.libreoffice.org/6669
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/i18npool/qa/cppunit/test_breakiterator.cxx b/i18npool/qa/cppunit/test_breakiterator.cxx
index 8d70250..a81475b 100644
--- a/i18npool/qa/cppunit/test_breakiterator.cxx
+++ b/i18npool/qa/cppunit/test_breakiterator.cxx
@@ -39,6 +39,7 @@ public:
void testWeak();
void testAsian();
void testThai();
+ void testLao();
#ifdef TODO
void testNorthernThai();
#endif
@@ -59,6 +60,9 @@ public:
#if (U_ICU_VERSION_MAJOR_NUM > 4)
CPPUNIT_TEST(testKhmer);
#endif
+#if (U_ICU_VERSION_MAJOR_NUM > 51)
+ CPPUNIT_TEST(testLao);
+#endif
CPPUNIT_TEST(testJapanese);
CPPUNIT_TEST_SUITE_END();
private:
@@ -784,6 +788,27 @@ void TestBreakIterator::testAsian()
}
}
+//A test to ensure that our Lao word boundary detection is useful
+void TestBreakIterator::testLao()
+{
+ lang::Locale aLocale;
+ aLocale.Language = OUString("lo");
+ aLocale.Country = OUString("LA");
+ //àºàº´àºàºàºµàºà»àºàºàº®àº±àº
+ const sal_Unicode LAO[] = { 0x0e8d, 0x0eb4, 0x0e99, 0x0e94, 0x0eb5, 0x0e95, 0x0ec9, 0x0ead, 0x0e99, 0x0eae, 0x0eb1, 0x0e9a };
+ OUString aTest(LAO, SAL_N_ELEMENTS(LAO));
+ i18n::Boundary aBounds = m_xBreak->getWordBoundary(aTest, 0, aLocale,
+ i18n::WordType::DICTIONARY_WORD, true);
+
+ CPPUNIT_ASSERT(aBounds.startPos == 0 && aBounds.endPos == 5);
+
+ aBounds = m_xBreak->getWordBoundary(aTest, aBounds.endPos, aLocale,
+ i18n::WordType::DICTIONARY_WORD, true);
+
+ CPPUNIT_ASSERT(aBounds.startPos == 5 && aBounds.endPos == 9);
+
+}
+
//A test to ensure that our thai word boundary detection is useful
void TestBreakIterator::testThai()
{
diff --git a/i18npool/source/breakiterator/breakiterator_unicode.cxx b/i18npool/source/breakiterator/breakiterator_unicode.cxx
index f85c109..3bb2e3e 100644
--- a/i18npool/source/breakiterator/breakiterator_unicode.cxx
+++ b/i18npool/source/breakiterator/breakiterator_unicode.cxx
@@ -121,7 +121,7 @@ void SAL_CALL BreakIterator_Unicode::loadICUBreakIterator(const com::sun::star::
OUStringToOString(breakRules[breakType], RTL_TEXTENCODING_ASCII_US).getStr(), &status), status);
}
//use icu's breakiterator for Thai, Khmer, Tibetan and Dzongkha
- else if (rLocale.Language != "th" && rLocale.Language != "km" && rLocale.Language != "bo" && rLocale.Language != "dz")
+ else if (rLocale.Language != "th" && rLocale.Language != "lo" && rLocale.Language != "km" && rLocale.Language != "bo" && rLocale.Language != "dz")
{
status = U_ZERO_ERROR;
OStringBuffer aUDName(64);
More information about the Libreoffice-commits
mailing list