diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-12 09:27:39 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-12 09:27:39 +0200 |
commit | 3749d61e1f7a59f5ec5067e560af1eb610c82015 (patch) | |
tree | 73dc228333948738bbe02976cacca8cd382bc978 /Source/WebKit/chromium/tests/LocaleMacTest.cpp | |
parent | b32b4dcd9a51ab8de6afc53d9e17f8707e1f7a5e (diff) | |
download | qtwebkit-3749d61e1f7a59f5ec5067e560af1eb610c82015.tar.gz |
Imported WebKit commit a77350243e054f3460d1137301d8b3faee3d2052 (http://svn.webkit.org/repository/webkit/trunk@125365)
New snapshot with build fixes for latest API changes in Qt and all WK1 Win MSVC fixes upstream
Diffstat (limited to 'Source/WebKit/chromium/tests/LocaleMacTest.cpp')
-rw-r--r-- | Source/WebKit/chromium/tests/LocaleMacTest.cpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Source/WebKit/chromium/tests/LocaleMacTest.cpp b/Source/WebKit/chromium/tests/LocaleMacTest.cpp index 1150a301a..f6b0f6292 100644 --- a/Source/WebKit/chromium/tests/LocaleMacTest.cpp +++ b/Source/WebKit/chromium/tests/LocaleMacTest.cpp @@ -118,6 +118,12 @@ protected: OwnPtr<LocaleMac> locale = LocaleMac::create(localeString); return locale->timeAMPMLabels()[index]; } + + String decimalSeparator(const String& localeString) + { + OwnPtr<LocaleMac> locale = LocaleMac::create(localeString); + return locale->localizedDecimalSeparator(); + } #endif }; @@ -207,4 +213,44 @@ TEST_F(LocaleMacTest, timeAMPMLabels) EXPECT_STREQ("\xE5\x8D\x88\xE5\x89\x8D", timeAMPMLabel("ja_JP", 0).utf8().data()); EXPECT_STREQ("\xE5\x8D\x88\xE5\xBE\x8C", timeAMPMLabel("ja_JP", 1).utf8().data()); } + +TEST_F(LocaleMacTest, decimalSeparator) +{ + EXPECT_STREQ(".", decimalSeparator("en_US").utf8().data()); + EXPECT_STREQ(",", decimalSeparator("fr_FR").utf8().data()); +} #endif + +static void testNumberIsReversible(const String& localeString, const char* original, const char* shouldHave = 0) +{ + OwnPtr<LocaleMac> locale = LocaleMac::create(localeString); + String localized = locale->convertToLocalizedNumber(original); + if (shouldHave) + EXPECT_TRUE(localized.contains(shouldHave)); + String converted = locale->convertFromLocalizedNumber(localized); + EXPECT_STREQ(original, converted.utf8().data()); +} + +void testNumbers(const String& localeString, const char* decimalSeparatorShouldBe = 0) +{ + testNumberIsReversible(localeString, "123456789012345678901234567890"); + testNumberIsReversible(localeString, "-123.456", decimalSeparatorShouldBe); + testNumberIsReversible(localeString, ".456", decimalSeparatorShouldBe); + testNumberIsReversible(localeString, "-0.456", decimalSeparatorShouldBe); +} + +TEST_F(LocaleMacTest, localizedNumberRoundTrip) +{ + // Test some of major locales. + testNumbers("en_US", "."); + testNumbers("fr_FR", ","); + testNumbers("ar"); + testNumbers("de_DE"); + testNumbers("es_ES"); + testNumbers("fa"); + testNumbers("ja_JP"); + testNumbers("ko_KR"); + testNumbers("zh_CN"); + testNumbers("zh_HK"); + testNumbers("zh_TW"); +} |