Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Unified Diff: ui/views/controls/textfield/native_textfield_views_unittest.cc

Issue 9358049: Implement STYLE_LOWERCASE style for Aura NativeTextfield. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix for comments. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/views/controls/textfield/native_textfield_views_unittest.cc
diff --git a/ui/views/controls/textfield/native_textfield_views_unittest.cc b/ui/views/controls/textfield/native_textfield_views_unittest.cc
index b694ff42ccfdac41047f21af00c570c0f53b2458..948d067ef5a030bc2def98b96cf77da49300b62e 100644
--- a/ui/views/controls/textfield/native_textfield_views_unittest.cc
+++ b/ui/views/controls/textfield/native_textfield_views_unittest.cc
@@ -361,6 +361,71 @@ TEST_F(NativeTextfieldViewsTest, ModelChangesTest) {
EXPECT_TRUE(last_contents_.empty());
}
+TEST_F(NativeTextfieldViewsTest, ModelChangesTestLowerCase) {
sky 2012/04/12 03:58:33 nit: add descriptions for your tests. Also, can y
kochi 2012/04/12 05:39:01 Added short descriptions for new tests. Also adde
+ InitTextfield(Textfield::STYLE_LOWERCASE);
+
+ last_contents_.clear();
+ textfield_->SetText(ASCIIToUTF16("THIS IS"));
+
+ EXPECT_STR_EQ("this is", model_->GetText());
+ EXPECT_STR_EQ("THIS IS", textfield_->text());
+ EXPECT_TRUE(last_contents_.empty());
+
+ textfield_->AppendText(ASCIIToUTF16(" A TEST"));
+ EXPECT_STR_EQ("this is a test", model_->GetText());
+ EXPECT_STR_EQ("THIS IS A TEST", textfield_->text());
+ EXPECT_TRUE(last_contents_.empty());
+}
+
+TEST_F(NativeTextfieldViewsTest, ModelChangesTestLowerCaseI18n) {
+ InitTextfield(Textfield::STYLE_LOWERCASE);
+
+ last_contents_.clear();
+ // Zenkaku Japanese "ABCabc"
+ textfield_->SetText(WideToUTF16(L"\xFF21\xFF22\xFF23\xFF41\xFF42\xFF43"));
+ // Zenkaku Japanese "abcabc"
+ EXPECT_EQ(WideToUTF16(L"\xFF41\xFF42\xFF43\xFF41\xFF42\xFF43"),
+ model_->GetText());
+ // Zenkaku Japanese "ABCabc"
+ EXPECT_EQ(WideToUTF16(L"\xFF21\xFF22\xFF23\xFF41\xFF42\xFF43"),
+ textfield_->text());
+ EXPECT_TRUE(last_contents_.empty());
+
+ // Zenkaku Japanese "XYZxyz"
+ textfield_->AppendText(WideToUTF16(L"\xFF38\xFF39\xFF3A\xFF58\xFF59\xFF5A"));
+ // Zenkaku Japanese "abcabcxyzxyz"
+ EXPECT_EQ(WideToUTF16(L"\xFF41\xFF42\xFF43\xFF41\xFF42\xFF43"
+ L"\xFF58\xFF59\xFF5A\xFF58\xFF59\xFF5A"),
+ model_->GetText());
+ // Zenkaku Japanese "ABCabcXYZxyz"
+ EXPECT_EQ(WideToUTF16(L"\xFF21\xFF22\xFF23\xFF41\xFF42\xFF43"
+ L"\xFF38\xFF39\xFF3A\xFF58\xFF59\xFF5A"),
+ textfield_->text());
+ EXPECT_TRUE(last_contents_.empty());
+}
+
+TEST_F(NativeTextfieldViewsTest, ModelChangesTestLowerCaseWithLocale) {
+ std::string locale = l10n_util::GetApplicationLocale("");
+ base::i18n::SetICUDefaultLocale("tr");
+
+ InitTextfield(Textfield::STYLE_LOWERCASE);
+
+ last_contents_.clear();
+ // Turkish 'I' should be converted to dotless 'i' (U+0131).
+ textfield_->SetText(WideToUTF16(L"I"));
+ EXPECT_EQ(WideToUTF16(L"\x0131"), model_->GetText());
+ EXPECT_EQ(WideToUTF16(L"I"), textfield_->text());
+ EXPECT_TRUE(last_contents_.empty());
+
+ base::i18n::SetICUDefaultLocale(locale);
+
+ // On default (en) locale, 'I' should be converted to 'i'.
+ textfield_->SetText(WideToUTF16(L"I"));
+ EXPECT_EQ(WideToUTF16(L"i"), model_->GetText());
+ EXPECT_EQ(WideToUTF16(L"I"), textfield_->text());
+ EXPECT_TRUE(last_contents_.empty());
+}
+
TEST_F(NativeTextfieldViewsTest, KeyTest) {
InitTextfield(Textfield::STYLE_DEFAULT);
SendKeyEvent(ui::VKEY_C, true, false);

Powered by Google App Engine
This is Rietveld 408576698