Index: ui/views/controls/textfield/textfield_unittest.cc |
diff --git a/ui/views/controls/textfield/textfield_unittest.cc b/ui/views/controls/textfield/textfield_unittest.cc |
index bd93f6ae3d87aecd3978d402e23992b1de3a5c42..de160ef6d2807760445c4be1dc47e06df67f7634 100644 |
--- a/ui/views/controls/textfield/textfield_unittest.cc |
+++ b/ui/views/controls/textfield/textfield_unittest.cc |
@@ -843,6 +843,25 @@ TEST_F(TextfieldTest, FocusTraversalTest) { |
ui::EF_LEFT_MOUSE_BUTTON); |
textfield_->OnMousePressed(click); |
EXPECT_EQ(1, GetFocusedView()->id()); |
+ |
+ // Tab/Shift+Tab should also cycle focus, not insert a tab character. |
+ SendKeyEvent(ui::VKEY_TAB, false, false); |
+ EXPECT_EQ(2, GetFocusedView()->id()); |
+ SendKeyEvent(ui::VKEY_TAB, false, false); |
+ EXPECT_EQ(3, GetFocusedView()->id()); |
+ // Cycle back to the first textfield. |
+ SendKeyEvent(ui::VKEY_TAB, false, false); |
+ EXPECT_EQ(1, GetFocusedView()->id()); |
+ |
+ SendKeyEvent(ui::VKEY_TAB, true, false); |
+ EXPECT_EQ(3, GetFocusedView()->id()); |
+ SendKeyEvent(ui::VKEY_TAB, true, false); |
+ EXPECT_EQ(2, GetFocusedView()->id()); |
+ SendKeyEvent(ui::VKEY_TAB, true, false); |
+ EXPECT_EQ(1, GetFocusedView()->id()); |
+ // Cycle back to the last textfield. |
+ SendKeyEvent(ui::VKEY_TAB, true, false); |
+ EXPECT_EQ(3, GetFocusedView()->id()); |
} |
TEST_F(TextfieldTest, ContextMenuDisplayTest) { |