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

Side by Side Diff: views/controls/textfield/native_textfield_views_unittest.cc

Issue 6246001: Move app/key* to ui/base/keycodes/* (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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"
6 #include "base/utf_string_conversions.h" 5 #include "base/utf_string_conversions.h"
6 #include "ui/base/keycodes/keyboard_codes.h"
7 #include "views/controls/textfield/native_textfield_views.h" 7 #include "views/controls/textfield/native_textfield_views.h"
8 #include "views/controls/textfield/textfield.h" 8 #include "views/controls/textfield/textfield.h"
9 #include "views/controls/textfield/textfield_views_model.h" 9 #include "views/controls/textfield/textfield_views_model.h"
10 #include "views/event.h" 10 #include "views/event.h"
11 #include "views/focus/focus_manager.h" 11 #include "views/focus/focus_manager.h"
12 #include "views/test/views_test_base.h" 12 #include "views/test/views_test_base.h"
13 #include "views/widget/widget.h" 13 #include "views/widget/widget.h"
14 14
15 namespace views { 15 namespace views {
16 16
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 Textfield* textfield = new Textfield(style); 81 Textfield* textfield = new Textfield(style);
82 container->AddChildView(textfield); 82 container->AddChildView(textfield);
83 textfield->SetID(i + 1); 83 textfield->SetID(i + 1);
84 } 84 }
85 85
86 DCHECK(textfield_view_); 86 DCHECK(textfield_view_);
87 model_ = textfield_view_->model_.get(); 87 model_ = textfield_view_->model_.get();
88 } 88 }
89 89
90 protected: 90 protected:
91 bool SendKeyEventToTextfieldViews(app::KeyboardCode key_code, 91 bool SendKeyEventToTextfieldViews(ui::KeyboardCode key_code,
92 bool shift, 92 bool shift,
93 bool control, 93 bool control,
94 bool capslock) { 94 bool capslock) {
95 int flags = (shift ? KeyEvent::EF_SHIFT_DOWN : 0) | 95 int flags = (shift ? KeyEvent::EF_SHIFT_DOWN : 0) |
96 (control ? KeyEvent::EF_CONTROL_DOWN : 0) | 96 (control ? KeyEvent::EF_CONTROL_DOWN : 0) |
97 (capslock ? KeyEvent::EF_CAPS_LOCK_DOWN : 0); 97 (capslock ? KeyEvent::EF_CAPS_LOCK_DOWN : 0);
98 KeyEvent event(KeyEvent::ET_KEY_PRESSED, key_code, flags, 1, 0); 98 KeyEvent event(KeyEvent::ET_KEY_PRESSED, key_code, flags, 1, 0);
99 return textfield_->OnKeyPressed(event); 99 return textfield_->OnKeyPressed(event);
100 } 100 }
101 101
102 bool SendKeyEventToTextfieldViews(app::KeyboardCode key_code, 102 bool SendKeyEventToTextfieldViews(ui::KeyboardCode key_code,
103 bool shift, 103 bool shift,
104 bool control) { 104 bool control) {
105 return SendKeyEventToTextfieldViews(key_code, shift, control, false); 105 return SendKeyEventToTextfieldViews(key_code, shift, control, false);
106 } 106 }
107 107
108 bool SendKeyEventToTextfieldViews(app::KeyboardCode key_code) { 108 bool SendKeyEventToTextfieldViews(ui::KeyboardCode key_code) {
109 return SendKeyEventToTextfieldViews(key_code, false, false); 109 return SendKeyEventToTextfieldViews(key_code, false, false);
110 } 110 }
111 111
112 View* GetFocusedView() { 112 View* GetFocusedView() {
113 return widget_->GetFocusManager()->GetFocusedView(); 113 return widget_->GetFocusManager()->GetFocusedView();
114 } 114 }
115 115
116 // We need widget to populate wrapper class. 116 // We need widget to populate wrapper class.
117 Widget* widget_; 117 Widget* widget_;
118 118
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 EXPECT_EQ(string16(), last_contents_); 150 EXPECT_EQ(string16(), last_contents_);
151 151
152 EXPECT_EQ(string16(), textfield_->GetSelectedText()); 152 EXPECT_EQ(string16(), textfield_->GetSelectedText());
153 textfield_->SelectAll(); 153 textfield_->SelectAll();
154 EXPECT_STR_EQ("this is a test", textfield_->GetSelectedText()); 154 EXPECT_STR_EQ("this is a test", textfield_->GetSelectedText());
155 EXPECT_EQ(string16(), last_contents_); 155 EXPECT_EQ(string16(), last_contents_);
156 } 156 }
157 157
158 TEST_F(NativeTextfieldViewsTest, KeyTest) { 158 TEST_F(NativeTextfieldViewsTest, KeyTest) {
159 InitTextfield(Textfield::STYLE_DEFAULT); 159 InitTextfield(Textfield::STYLE_DEFAULT);
160 SendKeyEventToTextfieldViews(app::VKEY_C, true, false); 160 SendKeyEventToTextfieldViews(ui::VKEY_C, true, false);
161 EXPECT_STR_EQ("C", textfield_->text()); 161 EXPECT_STR_EQ("C", textfield_->text());
162 EXPECT_STR_EQ("C", last_contents_); 162 EXPECT_STR_EQ("C", last_contents_);
163 last_contents_.clear(); 163 last_contents_.clear();
164 164
165 SendKeyEventToTextfieldViews(app::VKEY_R, false, false); 165 SendKeyEventToTextfieldViews(ui::VKEY_R, false, false);
166 EXPECT_STR_EQ("Cr", textfield_->text()); 166 EXPECT_STR_EQ("Cr", textfield_->text());
167 EXPECT_STR_EQ("Cr", last_contents_); 167 EXPECT_STR_EQ("Cr", last_contents_);
168 168
169 textfield_->SetText(ASCIIToUTF16("")); 169 textfield_->SetText(ASCIIToUTF16(""));
170 SendKeyEventToTextfieldViews(app::VKEY_C, true, false, true); 170 SendKeyEventToTextfieldViews(ui::VKEY_C, true, false, true);
171 SendKeyEventToTextfieldViews(app::VKEY_C, false, false, true); 171 SendKeyEventToTextfieldViews(ui::VKEY_C, false, false, true);
172 SendKeyEventToTextfieldViews(app::VKEY_1, false, false, true); 172 SendKeyEventToTextfieldViews(ui::VKEY_1, false, false, true);
173 SendKeyEventToTextfieldViews(app::VKEY_1, true, false, true); 173 SendKeyEventToTextfieldViews(ui::VKEY_1, true, false, true);
174 SendKeyEventToTextfieldViews(app::VKEY_1, true, false, false); 174 SendKeyEventToTextfieldViews(ui::VKEY_1, true, false, false);
175 EXPECT_STR_EQ("cC1!!", textfield_->text()); 175 EXPECT_STR_EQ("cC1!!", textfield_->text());
176 EXPECT_STR_EQ("cC1!!", last_contents_); 176 EXPECT_STR_EQ("cC1!!", last_contents_);
177 } 177 }
178 178
179 TEST_F(NativeTextfieldViewsTest, ControlAndSelectTest) { 179 TEST_F(NativeTextfieldViewsTest, ControlAndSelectTest) {
180 // Insert a test string in a textfield. 180 // Insert a test string in a textfield.
181 InitTextfield(Textfield::STYLE_DEFAULT); 181 InitTextfield(Textfield::STYLE_DEFAULT);
182 textfield_->SetText(ASCIIToUTF16("one two three")); 182 textfield_->SetText(ASCIIToUTF16("one two three"));
183 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, 183 SendKeyEventToTextfieldViews(ui::VKEY_RIGHT,
184 true /* shift */, false /* control */); 184 true /* shift */, false /* control */);
185 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, true, false); 185 SendKeyEventToTextfieldViews(ui::VKEY_RIGHT, true, false);
186 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, true, false); 186 SendKeyEventToTextfieldViews(ui::VKEY_RIGHT, true, false);
187 187
188 EXPECT_STR_EQ("one", textfield_->GetSelectedText()); 188 EXPECT_STR_EQ("one", textfield_->GetSelectedText());
189 189
190 // Test word select. 190 // Test word select.
191 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, true, true); 191 SendKeyEventToTextfieldViews(ui::VKEY_RIGHT, true, true);
192 EXPECT_STR_EQ("one two", textfield_->GetSelectedText()); 192 EXPECT_STR_EQ("one two", textfield_->GetSelectedText());
193 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, true, true); 193 SendKeyEventToTextfieldViews(ui::VKEY_RIGHT, true, true);
194 EXPECT_STR_EQ("one two three", textfield_->GetSelectedText()); 194 EXPECT_STR_EQ("one two three", textfield_->GetSelectedText());
195 SendKeyEventToTextfieldViews(app::VKEY_LEFT, true, true); 195 SendKeyEventToTextfieldViews(ui::VKEY_LEFT, true, true);
196 EXPECT_STR_EQ("one two ", textfield_->GetSelectedText()); 196 EXPECT_STR_EQ("one two ", textfield_->GetSelectedText());
197 SendKeyEventToTextfieldViews(app::VKEY_LEFT, true, true); 197 SendKeyEventToTextfieldViews(ui::VKEY_LEFT, true, true);
198 EXPECT_STR_EQ("one ", textfield_->GetSelectedText()); 198 EXPECT_STR_EQ("one ", textfield_->GetSelectedText());
199 199
200 // Replace the selected text. 200 // Replace the selected text.
201 SendKeyEventToTextfieldViews(app::VKEY_Z, true, false); 201 SendKeyEventToTextfieldViews(ui::VKEY_Z, true, false);
202 SendKeyEventToTextfieldViews(app::VKEY_E, true, false); 202 SendKeyEventToTextfieldViews(ui::VKEY_E, true, false);
203 SendKeyEventToTextfieldViews(app::VKEY_R, true, false); 203 SendKeyEventToTextfieldViews(ui::VKEY_R, true, false);
204 SendKeyEventToTextfieldViews(app::VKEY_O, true, false); 204 SendKeyEventToTextfieldViews(ui::VKEY_O, true, false);
205 SendKeyEventToTextfieldViews(app::VKEY_SPACE, false, false); 205 SendKeyEventToTextfieldViews(ui::VKEY_SPACE, false, false);
206 EXPECT_STR_EQ("ZERO two three", textfield_->text()); 206 EXPECT_STR_EQ("ZERO two three", textfield_->text());
207 207
208 SendKeyEventToTextfieldViews(app::VKEY_END, true, false); 208 SendKeyEventToTextfieldViews(ui::VKEY_END, true, false);
209 EXPECT_STR_EQ("two three", textfield_->GetSelectedText()); 209 EXPECT_STR_EQ("two three", textfield_->GetSelectedText());
210 SendKeyEventToTextfieldViews(app::VKEY_HOME, true, false); 210 SendKeyEventToTextfieldViews(ui::VKEY_HOME, true, false);
211 EXPECT_STR_EQ("ZERO ", textfield_->GetSelectedText()); 211 EXPECT_STR_EQ("ZERO ", textfield_->GetSelectedText());
212 } 212 }
213 213
214 TEST_F(NativeTextfieldViewsTest, InsertionDeletionTest) { 214 TEST_F(NativeTextfieldViewsTest, InsertionDeletionTest) {
215 // Insert a test string in a textfield. 215 // Insert a test string in a textfield.
216 InitTextfield(Textfield::STYLE_DEFAULT); 216 InitTextfield(Textfield::STYLE_DEFAULT);
217 char test_str[] = "this is a test"; 217 char test_str[] = "this is a test";
218 for (size_t i = 0; i < sizeof(test_str); i++) { 218 for (size_t i = 0; i < sizeof(test_str); i++) {
219 // This is ugly and should be replaced by a utility standard function. 219 // This is ugly and should be replaced by a utility standard function.
220 // See comment in NativeTextfieldViews::GetPrintableChar. 220 // See comment in NativeTextfieldViews::GetPrintableChar.
221 char c = test_str[i]; 221 char c = test_str[i];
222 app::KeyboardCode code = 222 ui::KeyboardCode code =
223 c == ' ' ? app::VKEY_SPACE : 223 c == ' ' ? ui::VKEY_SPACE :
224 static_cast<app::KeyboardCode>(app::VKEY_A + c - 'a'); 224 static_cast<ui::KeyboardCode>(ui::VKEY_A + c - 'a');
225 SendKeyEventToTextfieldViews(code); 225 SendKeyEventToTextfieldViews(code);
226 } 226 }
227 EXPECT_STR_EQ(test_str, textfield_->text()); 227 EXPECT_STR_EQ(test_str, textfield_->text());
228 228
229 // Move the cursor around. 229 // Move the cursor around.
230 for (int i = 0; i < 6; i++) { 230 for (int i = 0; i < 6; i++) {
231 SendKeyEventToTextfieldViews(app::VKEY_LEFT); 231 SendKeyEventToTextfieldViews(ui::VKEY_LEFT);
232 } 232 }
233 SendKeyEventToTextfieldViews(app::VKEY_RIGHT); 233 SendKeyEventToTextfieldViews(ui::VKEY_RIGHT);
234 234
235 // Delete using backspace and check resulting string. 235 // Delete using backspace and check resulting string.
236 SendKeyEventToTextfieldViews(app::VKEY_BACK); 236 SendKeyEventToTextfieldViews(ui::VKEY_BACK);
237 EXPECT_STR_EQ("this is test", textfield_->text()); 237 EXPECT_STR_EQ("this is test", textfield_->text());
238 238
239 // Delete using delete key and check resulting string. 239 // Delete using delete key and check resulting string.
240 for (int i = 0; i < 5; i++) { 240 for (int i = 0; i < 5; i++) {
241 SendKeyEventToTextfieldViews(app::VKEY_DELETE); 241 SendKeyEventToTextfieldViews(ui::VKEY_DELETE);
242 } 242 }
243 EXPECT_STR_EQ("this is ", textfield_->text()); 243 EXPECT_STR_EQ("this is ", textfield_->text());
244 244
245 // Select all and replace with "k". 245 // Select all and replace with "k".
246 textfield_->SelectAll(); 246 textfield_->SelectAll();
247 SendKeyEventToTextfieldViews(app::VKEY_K); 247 SendKeyEventToTextfieldViews(ui::VKEY_K);
248 EXPECT_STR_EQ("k", textfield_->text()); 248 EXPECT_STR_EQ("k", textfield_->text());
249 249
250 // Delete the previous word from cursor. 250 // Delete the previous word from cursor.
251 textfield_->SetText(ASCIIToUTF16("one two three four")); 251 textfield_->SetText(ASCIIToUTF16("one two three four"));
252 SendKeyEventToTextfieldViews(app::VKEY_END); 252 SendKeyEventToTextfieldViews(ui::VKEY_END);
253 SendKeyEventToTextfieldViews(app::VKEY_BACK, false, true, false); 253 SendKeyEventToTextfieldViews(ui::VKEY_BACK, false, true, false);
254 EXPECT_STR_EQ("one two three ", textfield_->text()); 254 EXPECT_STR_EQ("one two three ", textfield_->text());
255 255
256 // Delete upto the beginning of the buffer from cursor in chromeos, do nothing 256 // Delete upto the beginning of the buffer from cursor in chromeos, do nothing
257 // in windows. 257 // in windows.
258 SendKeyEventToTextfieldViews(app::VKEY_LEFT, false, true, false); 258 SendKeyEventToTextfieldViews(ui::VKEY_LEFT, false, true, false);
259 SendKeyEventToTextfieldViews(app::VKEY_BACK, true, true, false); 259 SendKeyEventToTextfieldViews(ui::VKEY_BACK, true, true, false);
260 #if defined(OS_WIN) 260 #if defined(OS_WIN)
261 EXPECT_STR_EQ("one two three ", textfield_->text()); 261 EXPECT_STR_EQ("one two three ", textfield_->text());
262 #else 262 #else
263 EXPECT_STR_EQ("three ", textfield_->text()); 263 EXPECT_STR_EQ("three ", textfield_->text());
264 #endif 264 #endif
265 265
266 // Delete the next word from cursor. 266 // Delete the next word from cursor.
267 textfield_->SetText(ASCIIToUTF16("one two three four")); 267 textfield_->SetText(ASCIIToUTF16("one two three four"));
268 SendKeyEventToTextfieldViews(app::VKEY_HOME); 268 SendKeyEventToTextfieldViews(ui::VKEY_HOME);
269 SendKeyEventToTextfieldViews(app::VKEY_DELETE, false, true, false); 269 SendKeyEventToTextfieldViews(ui::VKEY_DELETE, false, true, false);
270 EXPECT_STR_EQ(" two three four", textfield_->text()); 270 EXPECT_STR_EQ(" two three four", textfield_->text());
271 271
272 // Delete upto the end of the buffer from cursor in chromeos, do nothing 272 // Delete upto the end of the buffer from cursor in chromeos, do nothing
273 // in windows. 273 // in windows.
274 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, false, true, false); 274 SendKeyEventToTextfieldViews(ui::VKEY_RIGHT, false, true, false);
275 SendKeyEventToTextfieldViews(app::VKEY_DELETE, true, true, false); 275 SendKeyEventToTextfieldViews(ui::VKEY_DELETE, true, true, false);
276 #if defined(OS_WIN) 276 #if defined(OS_WIN)
277 EXPECT_STR_EQ(" two three four", textfield_->text()); 277 EXPECT_STR_EQ(" two three four", textfield_->text());
278 #else 278 #else
279 EXPECT_STR_EQ(" two", textfield_->text()); 279 EXPECT_STR_EQ(" two", textfield_->text());
280 #endif 280 #endif
281 } 281 }
282 282
283 TEST_F(NativeTextfieldViewsTest, PasswordTest) { 283 TEST_F(NativeTextfieldViewsTest, PasswordTest) {
284 InitTextfield(Textfield::STYLE_PASSWORD); 284 InitTextfield(Textfield::STYLE_PASSWORD);
285 textfield_->SetText(ASCIIToUTF16("my password")); 285 textfield_->SetText(ASCIIToUTF16("my password"));
286 // Just to make sure the text() and callback returns 286 // Just to make sure the text() and callback returns
287 // the actual text instead of "*". 287 // the actual text instead of "*".
288 EXPECT_STR_EQ("my password", textfield_->text()); 288 EXPECT_STR_EQ("my password", textfield_->text());
289 EXPECT_STR_EQ("my password", last_contents_); 289 EXPECT_STR_EQ("my password", last_contents_);
290 } 290 }
291 291
292 TEST_F(NativeTextfieldViewsTest, OnKeyPressReturnValueTest) { 292 TEST_F(NativeTextfieldViewsTest, OnKeyPressReturnValueTest) {
293 InitTextfield(Textfield::STYLE_DEFAULT); 293 InitTextfield(Textfield::STYLE_DEFAULT);
294 EXPECT_TRUE(SendKeyEventToTextfieldViews(app::VKEY_A)); 294 EXPECT_TRUE(SendKeyEventToTextfieldViews(ui::VKEY_A));
295 // F24, up/down key won't be handled. 295 // F24, up/down key won't be handled.
296 EXPECT_FALSE(SendKeyEventToTextfieldViews(app::VKEY_F24)); 296 EXPECT_FALSE(SendKeyEventToTextfieldViews(ui::VKEY_F24));
297 EXPECT_FALSE(SendKeyEventToTextfieldViews(app::VKEY_UP)); 297 EXPECT_FALSE(SendKeyEventToTextfieldViews(ui::VKEY_UP));
298 EXPECT_FALSE(SendKeyEventToTextfieldViews(app::VKEY_DOWN)); 298 EXPECT_FALSE(SendKeyEventToTextfieldViews(ui::VKEY_DOWN));
299 } 299 }
300 300
301 TEST_F(NativeTextfieldViewsTest, CursorMovement) { 301 TEST_F(NativeTextfieldViewsTest, CursorMovement) {
302 InitTextfield(Textfield::STYLE_DEFAULT); 302 InitTextfield(Textfield::STYLE_DEFAULT);
303 303
304 // Test with trailing whitespace. 304 // Test with trailing whitespace.
305 textfield_->SetText(ASCIIToUTF16("one two hre ")); 305 textfield_->SetText(ASCIIToUTF16("one two hre "));
306 306
307 // Send the cursor at the end. 307 // Send the cursor at the end.
308 SendKeyEventToTextfieldViews(app::VKEY_END); 308 SendKeyEventToTextfieldViews(ui::VKEY_END);
309 309
310 // Ctrl+Left should move the cursor just before the last word. 310 // Ctrl+Left should move the cursor just before the last word.
311 SendKeyEventToTextfieldViews(app::VKEY_LEFT, false, true); 311 SendKeyEventToTextfieldViews(ui::VKEY_LEFT, false, true);
312 SendKeyEventToTextfieldViews(app::VKEY_T); 312 SendKeyEventToTextfieldViews(ui::VKEY_T);
313 EXPECT_STR_EQ("one two thre ", textfield_->text()); 313 EXPECT_STR_EQ("one two thre ", textfield_->text());
314 EXPECT_STR_EQ("one two thre ", last_contents_); 314 EXPECT_STR_EQ("one two thre ", last_contents_);
315 315
316 // Ctrl+Right should move the cursor to the end of the last word. 316 // Ctrl+Right should move the cursor to the end of the last word.
317 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, false, true); 317 SendKeyEventToTextfieldViews(ui::VKEY_RIGHT, false, true);
318 SendKeyEventToTextfieldViews(app::VKEY_E); 318 SendKeyEventToTextfieldViews(ui::VKEY_E);
319 EXPECT_STR_EQ("one two three ", textfield_->text()); 319 EXPECT_STR_EQ("one two three ", textfield_->text());
320 EXPECT_STR_EQ("one two three ", last_contents_); 320 EXPECT_STR_EQ("one two three ", last_contents_);
321 321
322 // Ctrl+Right again should move the cursor to the end. 322 // Ctrl+Right again should move the cursor to the end.
323 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, false, true); 323 SendKeyEventToTextfieldViews(ui::VKEY_RIGHT, false, true);
324 SendKeyEventToTextfieldViews(app::VKEY_BACK); 324 SendKeyEventToTextfieldViews(ui::VKEY_BACK);
325 EXPECT_STR_EQ("one two three", textfield_->text()); 325 EXPECT_STR_EQ("one two three", textfield_->text());
326 EXPECT_STR_EQ("one two three", last_contents_); 326 EXPECT_STR_EQ("one two three", last_contents_);
327 327
328 // Test with leading whitespace. 328 // Test with leading whitespace.
329 textfield_->SetText(ASCIIToUTF16(" ne two")); 329 textfield_->SetText(ASCIIToUTF16(" ne two"));
330 330
331 // Send the cursor at the beginning. 331 // Send the cursor at the beginning.
332 SendKeyEventToTextfieldViews(app::VKEY_HOME); 332 SendKeyEventToTextfieldViews(ui::VKEY_HOME);
333 333
334 // Ctrl+Right, then Ctrl+Left should move the cursor to the beginning of the 334 // Ctrl+Right, then Ctrl+Left should move the cursor to the beginning of the
335 // first word. 335 // first word.
336 SendKeyEventToTextfieldViews(app::VKEY_RIGHT, false, true); 336 SendKeyEventToTextfieldViews(ui::VKEY_RIGHT, false, true);
337 SendKeyEventToTextfieldViews(app::VKEY_LEFT, false, true); 337 SendKeyEventToTextfieldViews(ui::VKEY_LEFT, false, true);
338 SendKeyEventToTextfieldViews(app::VKEY_O); 338 SendKeyEventToTextfieldViews(ui::VKEY_O);
339 EXPECT_STR_EQ(" one two", textfield_->text()); 339 EXPECT_STR_EQ(" one two", textfield_->text());
340 EXPECT_STR_EQ(" one two", last_contents_); 340 EXPECT_STR_EQ(" one two", last_contents_);
341 341
342 // Ctrl+Left to move the cursor to the beginning of the first word. 342 // Ctrl+Left to move the cursor to the beginning of the first word.
343 SendKeyEventToTextfieldViews(app::VKEY_LEFT, false, true); 343 SendKeyEventToTextfieldViews(ui::VKEY_LEFT, false, true);
344 // Ctrl+Left again should move the cursor back to the very beginning. 344 // Ctrl+Left again should move the cursor back to the very beginning.
345 SendKeyEventToTextfieldViews(app::VKEY_LEFT, false, true); 345 SendKeyEventToTextfieldViews(ui::VKEY_LEFT, false, true);
346 SendKeyEventToTextfieldViews(app::VKEY_DELETE); 346 SendKeyEventToTextfieldViews(ui::VKEY_DELETE);
347 EXPECT_STR_EQ("one two", textfield_->text()); 347 EXPECT_STR_EQ("one two", textfield_->text());
348 EXPECT_STR_EQ("one two", last_contents_); 348 EXPECT_STR_EQ("one two", last_contents_);
349 } 349 }
350 350
351 #if defined(OS_WIN) 351 #if defined(OS_WIN)
352 // TODO(oshima): Windows' FocusManager::ClearNativeFocus() resets the 352 // TODO(oshima): Windows' FocusManager::ClearNativeFocus() resets the
353 // focused view to NULL, which causes crash in this test. Figure out 353 // focused view to NULL, which causes crash in this test. Figure out
354 // why and fix this. 354 // why and fix this.
355 #define MAYBE_FocusTraversalTest DISABLED_FocusTraversalTest 355 #define MAYBE_FocusTraversalTest DISABLED_FocusTraversalTest
356 #else 356 #else
(...skipping 21 matching lines...) Expand all
378 // Cycle back to the last textfield. 378 // Cycle back to the last textfield.
379 widget_->GetFocusManager()->AdvanceFocus(true); 379 widget_->GetFocusManager()->AdvanceFocus(true);
380 EXPECT_EQ(3, GetFocusedView()->GetID()); 380 EXPECT_EQ(3, GetFocusedView()->GetID());
381 381
382 // Request focus should still work. 382 // Request focus should still work.
383 textfield_->RequestFocus(); 383 textfield_->RequestFocus();
384 EXPECT_EQ(1, GetFocusedView()->GetID()); 384 EXPECT_EQ(1, GetFocusedView()->GetID());
385 } 385 }
386 386
387 } // namespace views 387 } // namespace views
OLDNEW
« no previous file with comments | « views/controls/textfield/native_textfield_views.cc ('k') | views/controls/textfield/native_textfield_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698