summaryrefslogtreecommitdiffstats
path: root/chrome/common/l10n_util_unittest.cc
diff options
context:
space:
mode:
authorjungshik@google.com <jungshik@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-25 05:09:46 +0000
committerjungshik@google.com <jungshik@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-25 05:09:46 +0000
commit55211299fce265f04970c3643ed521887092f5a6 (patch)
tree216871e52d71a833175add65846c8e5419c7f9cf /chrome/common/l10n_util_unittest.cc
parent07f95333a47323bfbd65c8443e0fcc470956cb27 (diff)
downloadchromium_src-55211299fce265f04970c3643ed521887092f5a6.zip
chromium_src-55211299fce265f04970c3643ed521887092f5a6.tar.gz
chromium_src-55211299fce265f04970c3643ed521887092f5a6.tar.bz2
Rewrite GetTextDirection() to call GetTextDirectionForLocale(locale_name), which
in turn calls uscript_getCode() to get the script code and compare it against Hebrew and Arabic scripts (as opposed to languages). TEST=L10n*.GetTextDirection Review URL: http://codereview.chromium.org/40125 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12435 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/l10n_util_unittest.cc')
-rw-r--r--chrome/common/l10n_util_unittest.cc32
1 files changed, 32 insertions, 0 deletions
diff --git a/chrome/common/l10n_util_unittest.cc b/chrome/common/l10n_util_unittest.cc
index 5464108..eb0b028 100644
--- a/chrome/common/l10n_util_unittest.cc
+++ b/chrome/common/l10n_util_unittest.cc
@@ -31,6 +31,10 @@ class StringWrapper {
DISALLOW_COPY_AND_ASSIGN(StringWrapper);
};
+l10n_util::TextDirection GetTextDirection(const char* locale_name) {
+ return l10n_util::GetTextDirectionForLocale(locale_name);
+}
+
} // namespace
class L10nUtilTest : public PlatformTest {
@@ -376,3 +380,31 @@ TEST_F(L10nUtilTest, WrapPathWithLTRFormatting) {
EXPECT_EQ(wrapped_path, test_data[i].wrapped_path);
}
}
+
+TEST_F(L10nUtilTest, GetTextDirection) {
+ EXPECT_EQ(l10n_util::RIGHT_TO_LEFT, GetTextDirection("ar"));
+ EXPECT_EQ(l10n_util::RIGHT_TO_LEFT, GetTextDirection("ar_EG"));
+ EXPECT_EQ(l10n_util::RIGHT_TO_LEFT, GetTextDirection("he"));
+ EXPECT_EQ(l10n_util::RIGHT_TO_LEFT, GetTextDirection("he_IL"));
+ // iw is an obsolete code for Hebrew.
+ EXPECT_EQ(l10n_util::RIGHT_TO_LEFT, GetTextDirection("iw"));
+#if 0
+ // Enable these when we localize to Farsi, Urdu, Azerbaijani
+ // written in Arabic and Dhivehi. At the moment, our copy of
+ // ICU data does not have entry for them.
+ EXPECT_EQ(l10n_util::RIGHT_TO_LEFT, GetTextDirection("fa"));
+ EXPECT_EQ(l10n_util::RIGHT_TO_LEFT, GetTextDirection("ur"));
+ EXPECT_EQ(l10n_util::RIGHT_TO_LEFT, GetTextDirection("az_Arab"));
+ // Dhivehi that uses Thaana script.
+ EXPECT_EQ(l10n_util::RIGHT_TO_LEFT, GetTextDirection("dv"));
+#endif
+ EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("en"));
+ // Chinese in China with '-'.
+ EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("zh-CN"));
+ // Filipino : 3-letter code
+ EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("fil"));
+ // Russian
+ EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("ru"));
+ // Japanese that uses multiple scripts
+ EXPECT_EQ(l10n_util::LEFT_TO_RIGHT, GetTextDirection("ja"));
+}