diff options
author | Hossein <hossein@libreoffice.org> | 2022-01-09 15:03:45 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2022-01-10 13:28:54 +0100 |
commit | 98eea4c8c73a05114ec831a18ef8b3eed9a574da (patch) | |
tree | f57554112e1226ba341d099df1b0f34100bf1e90 /i18nlangtag | |
parent | 059c1aba91962262b971267819b52e6f822bd9a0 (diff) |
tdf#146084 Test for languages without hyphenation
Add test for languages without hyphenation. The fix can be tested with:
make CPPUNIT_TEST_NAME="testLanguagesWithoutHyphenation" -sr \
CppunitTest_i18nlangtag_test_languagetag
It is important to know that Kurdish language consists of different
dialects with differences in hyphenation:
1. Central Kurdish (Sorani): Arabic script, no hyphenation
2. Northern Kurdish (Kurmanji): Latin script, uses hyphenation
3. Southern Kurdish (Xwarîn): Arabic script, no hyphenation
Change-Id: I541281af6de296e57a5ab2dc8254f511787ebda0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128188
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'i18nlangtag')
-rw-r--r-- | i18nlangtag/qa/cppunit/test_languagetag.cxx | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/i18nlangtag/qa/cppunit/test_languagetag.cxx b/i18nlangtag/qa/cppunit/test_languagetag.cxx index 84e363d01eb4..d9f7563a635b 100644 --- a/i18nlangtag/qa/cppunit/test_languagetag.cxx +++ b/i18nlangtag/qa/cppunit/test_languagetag.cxx @@ -35,11 +35,13 @@ public: void testAllTags(); void testAllIsoLangEntries(); void testDisplayNames(); + void testLanguagesWithoutHyphenation(); CPPUNIT_TEST_SUITE(TestLanguageTag); CPPUNIT_TEST(testAllTags); CPPUNIT_TEST(testAllIsoLangEntries); CPPUNIT_TEST(testDisplayNames); + CPPUNIT_TEST(testLanguagesWithoutHyphenation); CPPUNIT_TEST_SUITE_END(); }; @@ -878,6 +880,99 @@ void TestLanguageTag::testDisplayNames() CPPUNIT_ASSERT_EQUAL( OUString("*"), aStr); } +void TestLanguageTag::testLanguagesWithoutHyphenation() +{ + // Arabic + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_PRIMARY_ONLY)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_ALGERIA)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_BAHRAIN)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_EGYPT)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_IRAQ)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_JORDAN)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_KUWAIT)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_LEBANON)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_LIBYA)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_MOROCCO)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_OMAN)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_QATAR)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_SAUDI_ARABIA)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_SYRIA)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_TUNISIA)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_UAE)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_ARABIC_YEMEN)); + + // Pashto + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_PASHTO)); + + // Persian/Farsi + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_FARSI)); + + // Kashmiri + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_KASHMIRI)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_KASHMIRI_INDIA)); + + // Central Kurdish (Sorani), uses Arabic script, does not have hyphenation + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_KURDISH_ARABIC_IRAQ)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_KURDISH_ARABIC_LSO)); + + // Northern Kurdish (Kurmanji) -> uses Latin scrit, has hyphenation + CPPUNIT_ASSERT(MsLangId::usesHyphenation(LANGUAGE_USER_KURDISH_SYRIA)); + CPPUNIT_ASSERT(MsLangId::usesHyphenation(LANGUAGE_USER_KURDISH_TURKEY)); + + // Southern Kurdish -> uses Arabic script, does not have hyphenation + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_USER_KURDISH_SOUTHERN_IRAN)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_USER_KURDISH_SOUTHERN_IRAQ)); + + // Punjabi + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_PUNJABI)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_PUNJABI_ARABIC_LSO)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_PUNJABI_PAKISTAN)); + + // Sindhi + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_SINDHI)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_SINDHI_ARABIC_LSO)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_SINDHI_PAKISTAN)); + + // Malai + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_MALAY_BRUNEI_DARUSSALAM)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_MALAY_MALAYSIA)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_USER_MALAY_ARABIC_BRUNEI)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_USER_MALAY_ARABIC_MALAYSIA)); + + // Somali + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_SOMALI)); + + // Swahili + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_SWAHILI)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_USER_SWAHILI_TANZANIA)); + + // Urdu + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_URDU_INDIA)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_URDU_PAKISTAN)); + + // CJK + // Chinese + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_CHINESE)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_CHINESE_HONGKONG)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_CHINESE_LSO)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_CHINESE_MACAU)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_CHINESE_SIMPLIFIED)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_CHINESE_SIMPLIFIED_LEGACY)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_CHINESE_SINGAPORE)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_CHINESE_TRADITIONAL)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_CHINESE_TRADITIONAL_LSO)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_YUE_CHINESE_HONGKONG)); + // Japanese + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_JAPANESE)); + // Korean + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_KOREAN)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_KOREAN_JOHAB)); + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_USER_KOREAN_NORTH)); + + // Vietnamese + CPPUNIT_ASSERT(!MsLangId::usesHyphenation(LANGUAGE_VIETNAMESE)); +} + CPPUNIT_TEST_SUITE_REGISTRATION( TestLanguageTag ); } |