Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "app/keyboard_codes.h" | 5 #include "app/keyboard_codes.h" |
| 6 #include "base/message_loop.h" | 6 #include "base/message_loop.h" |
| 7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 #include "views/controls/textfield/native_textfield_views.h" | 9 #include "views/controls/textfield/native_textfield_views.h" |
| 10 #include "views/controls/textfield/textfield.h" | 10 #include "views/controls/textfield/textfield.h" |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 66 widget_->Init(NULL, gfx::Rect()); | 66 widget_->Init(NULL, gfx::Rect()); |
| 67 widget_->SetContentsView(textfield_); | 67 widget_->SetContentsView(textfield_); |
| 68 textfield_view_ | 68 textfield_view_ |
| 69 = static_cast<NativeTextfieldViews*>(textfield_->native_wrapper()); | 69 = static_cast<NativeTextfieldViews*>(textfield_->native_wrapper()); |
| 70 DCHECK(textfield_view_); | 70 DCHECK(textfield_view_); |
| 71 model_ = textfield_view_->model_.get(); | 71 model_ = textfield_view_->model_.get(); |
| 72 } | 72 } |
| 73 | 73 |
| 74 void SendKeyEventToTextfieldViews(app::KeyboardCode key_code, | 74 void SendKeyEventToTextfieldViews(app::KeyboardCode key_code, |
| 75 bool shift, | 75 bool shift, |
| 76 bool control) { | 76 bool control, |
| 77 bool capslock = false) { | |
|
oshima
2011/01/04 20:23:41
default argument is not allowed by style guide.
sadrul
2011/01/04 20:29:27
Ah, noted. Fixed.
| |
| 77 int flags = (shift ? KeyEvent::EF_SHIFT_DOWN : 0) | | 78 int flags = (shift ? KeyEvent::EF_SHIFT_DOWN : 0) | |
| 78 (control ? KeyEvent::EF_CONTROL_DOWN : 0); | 79 (control ? KeyEvent::EF_CONTROL_DOWN : 0) | |
| 80 (capslock ? KeyEvent::EF_CAPS_LOCK_DOWN : 0); | |
| 79 KeyEvent event(KeyEvent::ET_KEY_PRESSED, key_code, flags, 1, 0); | 81 KeyEvent event(KeyEvent::ET_KEY_PRESSED, key_code, flags, 1, 0); |
| 80 textfield_view_->OnKeyPressed(event); | 82 textfield_view_->OnKeyPressed(event); |
| 81 } | 83 } |
| 82 | 84 |
| 83 void SendKeyEventToTextfieldViews(app::KeyboardCode key_code) { | 85 void SendKeyEventToTextfieldViews(app::KeyboardCode key_code) { |
| 84 SendKeyEventToTextfieldViews(key_code, false, false); | 86 SendKeyEventToTextfieldViews(key_code, false, false); |
| 85 } | 87 } |
| 86 | 88 |
| 87 protected: | 89 protected: |
| 88 // We need widget to populate wrapper class. | 90 // We need widget to populate wrapper class. |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 133 TEST_F(NativeTextfieldViewsTest, KeyTest) { | 135 TEST_F(NativeTextfieldViewsTest, KeyTest) { |
| 134 InitTextfield(Textfield::STYLE_DEFAULT); | 136 InitTextfield(Textfield::STYLE_DEFAULT); |
| 135 SendKeyEventToTextfieldViews(app::VKEY_C, true, false); | 137 SendKeyEventToTextfieldViews(app::VKEY_C, true, false); |
| 136 EXPECT_STR_EQ("C", textfield_->text()); | 138 EXPECT_STR_EQ("C", textfield_->text()); |
| 137 EXPECT_STR_EQ("C", last_contents_); | 139 EXPECT_STR_EQ("C", last_contents_); |
| 138 last_contents_.clear(); | 140 last_contents_.clear(); |
| 139 | 141 |
| 140 SendKeyEventToTextfieldViews(app::VKEY_R, false, false); | 142 SendKeyEventToTextfieldViews(app::VKEY_R, false, false); |
| 141 EXPECT_STR_EQ("Cr", textfield_->text()); | 143 EXPECT_STR_EQ("Cr", textfield_->text()); |
| 142 EXPECT_STR_EQ("Cr", last_contents_); | 144 EXPECT_STR_EQ("Cr", last_contents_); |
| 145 | |
| 146 textfield_->SetText(ASCIIToUTF16("")); | |
| 147 SendKeyEventToTextfieldViews(app::VKEY_C, true, false, true); | |
| 148 SendKeyEventToTextfieldViews(app::VKEY_C, false, false, true); | |
| 149 SendKeyEventToTextfieldViews(app::VKEY_1, false, false, true); | |
| 150 SendKeyEventToTextfieldViews(app::VKEY_1, true, false, true); | |
| 151 SendKeyEventToTextfieldViews(app::VKEY_1, true, false, false); | |
| 152 EXPECT_STR_EQ("cC1!!", textfield_->text()); | |
| 153 EXPECT_STR_EQ("cC1!!", last_contents_); | |
| 143 } | 154 } |
| 144 | 155 |
| 145 TEST_F(NativeTextfieldViewsTest, ControlAndSelectTest) { | 156 TEST_F(NativeTextfieldViewsTest, ControlAndSelectTest) { |
| 146 // Insert a test string in a textfield. | 157 // Insert a test string in a textfield. |
| 147 InitTextfield(Textfield::STYLE_DEFAULT); | 158 InitTextfield(Textfield::STYLE_DEFAULT); |
| 148 textfield_->SetText(ASCIIToUTF16("one two three")); | 159 textfield_->SetText(ASCIIToUTF16("one two three")); |
| 149 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, | 160 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, |
| 150 true /* shift */, false /* control */); | 161 true /* shift */, false /* control */); |
| 151 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, true, false); | 162 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, true, false); |
| 152 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, true, false); | 163 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, true, false); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 217 TEST_F(NativeTextfieldViewsTest, PasswordTest) { | 228 TEST_F(NativeTextfieldViewsTest, PasswordTest) { |
| 218 InitTextfield(Textfield::STYLE_PASSWORD); | 229 InitTextfield(Textfield::STYLE_PASSWORD); |
| 219 textfield_->SetText(ASCIIToUTF16("my password")); | 230 textfield_->SetText(ASCIIToUTF16("my password")); |
| 220 // Just to make sure the text() and callback returns | 231 // Just to make sure the text() and callback returns |
| 221 // the actual text instead of "*". | 232 // the actual text instead of "*". |
| 222 EXPECT_STR_EQ("my password", textfield_->text()); | 233 EXPECT_STR_EQ("my password", textfield_->text()); |
| 223 EXPECT_STR_EQ("my password", last_contents_); | 234 EXPECT_STR_EQ("my password", last_contents_); |
| 224 } | 235 } |
| 225 | 236 |
| 226 } // namespace views | 237 } // namespace views |
| OLD | NEW |