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

Unified Diff: ui/views/controls/combobox/combobox_unittest.cc

Issue 2624093002: MacViews: Correctly handle character events when there's an active TextInputClient. (Closed)
Patch Set: Fix tests Created 3 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 side-by-side diff with in-line comments
Download patch
Index: ui/views/controls/combobox/combobox_unittest.cc
diff --git a/ui/views/controls/combobox/combobox_unittest.cc b/ui/views/controls/combobox/combobox_unittest.cc
index 7cdaa56308c1447a34f3f30def031c999b57d767..3e316dedef4ba4eb3d8a0b53f0de443e0b66e738 100644
--- a/ui/views/controls/combobox/combobox_unittest.cc
+++ b/ui/views/controls/combobox/combobox_unittest.cc
@@ -18,6 +18,7 @@
#include "ui/events/event_utils.h"
#include "ui/events/keycodes/dom/dom_code.h"
#include "ui/events/keycodes/keyboard_codes.h"
+#include "ui/events/test/event_generator.h"
#include "ui/views/controls/combobox/combobox_listener.h"
#include "ui/views/test/combobox_test_api.h"
#include "ui/views/test/views_test_base.h"
@@ -206,7 +207,8 @@ class ComboboxTest : public ViewsTestBase {
combobox_->set_id(1);
widget_ = new Widget;
- Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
+ Widget::InitParams params =
+ CreateParams(Widget::InitParams::TYPE_WINDOW_FRAMELESS);
karandeepb 2017/01/11 08:16:20 Did not look into it, but tests fail with the Even
tapted 2017/01/11 14:54:20 I think popups have can_activate = false by defaul
karandeepb 2017/01/13 03:13:38 Acknowledged.
params.bounds = gfx::Rect(200, 200, 200, 200);
widget_->Init(params);
View* container = new View();
@@ -216,19 +218,19 @@ class ComboboxTest : public ViewsTestBase {
combobox_->RequestFocus();
combobox_->SizeToPreferredSize();
+
+ event_generator_.reset(
tapted 2017/01/11 14:54:20 event_generator_ = base::MakeUnique<..EventGenerat
karandeepb 2017/01/13 03:13:38 Done.
+ new ui::test::EventGenerator(widget_->GetNativeWindow()));
+ event_generator_->set_target(ui::test::EventGenerator::Target::WINDOW);
}
protected:
- void SendKeyEvent(ui::KeyboardCode key_code) {
- SendKeyEventWithType(key_code, ui::ET_KEY_PRESSED);
+ void PressKey(ui::KeyboardCode key_code) {
+ event_generator_->PressKey(key_code, ui::EF_NONE);
}
- void SendKeyEventWithType(ui::KeyboardCode key_code, ui::EventType type) {
- ui::KeyEvent event(type, key_code, ui::EF_NONE);
- FocusManager* focus_manager = widget_->GetFocusManager();
- widget_->OnKeyEvent(&event);
- if (!event.handled() && focus_manager)
- focus_manager->OnKeyEvent(event);
+ void ReleaseKey(ui::KeyboardCode key_code) {
+ event_generator_->ReleaseKey(key_code, ui::EF_NONE);
}
View* GetFocusedView() {
@@ -269,28 +271,30 @@ class ComboboxTest : public ViewsTestBase {
// The current menu show count.
int menu_show_count_;
+ std::unique_ptr<ui::test::EventGenerator> event_generator_;
+
private:
DISALLOW_COPY_AND_ASSIGN(ComboboxTest);
};
TEST_F(ComboboxTest, KeyTest) {
InitCombobox(nullptr, Combobox::STYLE_NORMAL);
- SendKeyEvent(ui::VKEY_END);
+ PressKey(ui::VKEY_END);
EXPECT_EQ(combobox_->selected_index() + 1, model_->GetItemCount());
- SendKeyEvent(ui::VKEY_HOME);
+ PressKey(ui::VKEY_HOME);
EXPECT_EQ(combobox_->selected_index(), 0);
- SendKeyEvent(ui::VKEY_DOWN);
- SendKeyEvent(ui::VKEY_DOWN);
+ PressKey(ui::VKEY_DOWN);
+ PressKey(ui::VKEY_DOWN);
EXPECT_EQ(combobox_->selected_index(), 2);
- SendKeyEvent(ui::VKEY_RIGHT);
+ PressKey(ui::VKEY_RIGHT);
EXPECT_EQ(combobox_->selected_index(), 2);
- SendKeyEvent(ui::VKEY_LEFT);
+ PressKey(ui::VKEY_LEFT);
EXPECT_EQ(combobox_->selected_index(), 2);
- SendKeyEvent(ui::VKEY_UP);
+ PressKey(ui::VKEY_UP);
EXPECT_EQ(combobox_->selected_index(), 1);
- SendKeyEvent(ui::VKEY_PRIOR);
+ PressKey(ui::VKEY_PRIOR);
EXPECT_EQ(combobox_->selected_index(), 0);
- SendKeyEvent(ui::VKEY_NEXT);
+ PressKey(ui::VKEY_NEXT);
EXPECT_EQ(combobox_->selected_index(), model_->GetItemCount() - 1);
}
@@ -304,7 +308,8 @@ TEST_F(ComboboxTest, DisabilityTest) {
combobox_->SetEnabled(false);
widget_ = new Widget;
- Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
+ Widget::InitParams params =
+ CreateParams(Widget::InitParams::TYPE_WINDOW_FRAMELESS);
params.bounds = gfx::Rect(100, 100, 100, 100);
widget_->Init(params);
View* container = new View();
@@ -320,17 +325,17 @@ TEST_F(ComboboxTest, SkipSeparatorSimple) {
separators.insert(2);
InitCombobox(&separators, Combobox::STYLE_NORMAL);
EXPECT_EQ(0, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_DOWN);
+ PressKey(ui::VKEY_DOWN);
EXPECT_EQ(1, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_DOWN);
+ PressKey(ui::VKEY_DOWN);
EXPECT_EQ(3, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_UP);
+ PressKey(ui::VKEY_UP);
EXPECT_EQ(1, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_HOME);
+ PressKey(ui::VKEY_HOME);
EXPECT_EQ(0, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_PRIOR);
+ PressKey(ui::VKEY_PRIOR);
EXPECT_EQ(0, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_END);
+ PressKey(ui::VKEY_END);
EXPECT_EQ(9, combobox_->selected_index());
}
@@ -341,17 +346,17 @@ TEST_F(ComboboxTest, SkipSeparatorBeginning) {
separators.insert(0);
InitCombobox(&separators, Combobox::STYLE_NORMAL);
EXPECT_EQ(1, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_DOWN);
+ PressKey(ui::VKEY_DOWN);
EXPECT_EQ(2, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_DOWN);
+ PressKey(ui::VKEY_DOWN);
EXPECT_EQ(3, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_UP);
+ PressKey(ui::VKEY_UP);
EXPECT_EQ(2, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_HOME);
+ PressKey(ui::VKEY_HOME);
EXPECT_EQ(1, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_PRIOR);
+ PressKey(ui::VKEY_PRIOR);
EXPECT_EQ(1, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_END);
+ PressKey(ui::VKEY_END);
EXPECT_EQ(9, combobox_->selected_index());
}
@@ -362,11 +367,11 @@ TEST_F(ComboboxTest, SkipSeparatorEnd) {
separators.insert(TestComboboxModel::kItemCount - 1);
InitCombobox(&separators, Combobox::STYLE_NORMAL);
combobox_->SetSelectedIndex(8);
- SendKeyEvent(ui::VKEY_DOWN);
+ PressKey(ui::VKEY_DOWN);
EXPECT_EQ(8, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_UP);
+ PressKey(ui::VKEY_UP);
EXPECT_EQ(7, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_END);
+ PressKey(ui::VKEY_END);
EXPECT_EQ(8, combobox_->selected_index());
}
@@ -380,17 +385,17 @@ TEST_F(ComboboxTest, SkipMultipleSeparatorsAtBeginning) {
separators.insert(2);
InitCombobox(&separators, Combobox::STYLE_NORMAL);
EXPECT_EQ(3, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_DOWN);
+ PressKey(ui::VKEY_DOWN);
EXPECT_EQ(4, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_UP);
+ PressKey(ui::VKEY_UP);
EXPECT_EQ(3, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_NEXT);
+ PressKey(ui::VKEY_NEXT);
EXPECT_EQ(9, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_HOME);
+ PressKey(ui::VKEY_HOME);
EXPECT_EQ(3, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_END);
+ PressKey(ui::VKEY_END);
EXPECT_EQ(9, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_PRIOR);
+ PressKey(ui::VKEY_PRIOR);
EXPECT_EQ(3, combobox_->selected_index());
}
@@ -404,9 +409,9 @@ TEST_F(ComboboxTest, SkipMultipleAdjacentSeparatorsAtMiddle) {
separators.insert(6);
InitCombobox(&separators, Combobox::STYLE_NORMAL);
combobox_->SetSelectedIndex(3);
- SendKeyEvent(ui::VKEY_DOWN);
+ PressKey(ui::VKEY_DOWN);
EXPECT_EQ(7, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_UP);
+ PressKey(ui::VKEY_UP);
EXPECT_EQ(3, combobox_->selected_index());
}
@@ -420,17 +425,17 @@ TEST_F(ComboboxTest, SkipMultipleSeparatorsAtEnd) {
separators.insert(9);
InitCombobox(&separators, Combobox::STYLE_NORMAL);
combobox_->SetSelectedIndex(6);
- SendKeyEvent(ui::VKEY_DOWN);
+ PressKey(ui::VKEY_DOWN);
EXPECT_EQ(6, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_UP);
+ PressKey(ui::VKEY_UP);
EXPECT_EQ(5, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_HOME);
+ PressKey(ui::VKEY_HOME);
EXPECT_EQ(0, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_NEXT);
+ PressKey(ui::VKEY_NEXT);
EXPECT_EQ(6, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_PRIOR);
+ PressKey(ui::VKEY_PRIOR);
EXPECT_EQ(0, combobox_->selected_index());
- SendKeyEvent(ui::VKEY_END);
+ PressKey(ui::VKEY_END);
EXPECT_EQ(6, combobox_->selected_index());
}
@@ -542,7 +547,7 @@ TEST_F(ComboboxTest, NotifyOnClickWithReturnKey) {
combobox_->set_listener(&listener);
// With STYLE_NORMAL, the click event is ignored. Instead the menu is shown.
- SendKeyEvent(ui::VKEY_RETURN);
+ PressKey(ui::VKEY_RETURN);
EXPECT_EQ(1, menu_show_count());
EXPECT_FALSE(listener.on_perform_action_called());
}
@@ -554,7 +559,7 @@ TEST_F(ComboboxTest, NotifyOnClickWithReturnKeyActionStyle) {
combobox_->set_listener(&listener);
// With STYLE_ACTION, the click event is notified and the menu is not shown.
- SendKeyEvent(ui::VKEY_RETURN);
+ PressKey(ui::VKEY_RETURN);
EXPECT_EQ(0, menu_show_count());
EXPECT_TRUE(listener.on_perform_action_called());
EXPECT_EQ(0, listener.perform_action_index());
@@ -567,11 +572,11 @@ TEST_F(ComboboxTest, NotifyOnClickWithSpaceKey) {
combobox_->set_listener(&listener);
// With STYLE_NORMAL, the click event is ignored. Instead the menu is shwon.
- SendKeyEvent(ui::VKEY_SPACE);
+ PressKey(ui::VKEY_SPACE);
EXPECT_EQ(1, menu_show_count());
EXPECT_FALSE(listener.on_perform_action_called());
- SendKeyEventWithType(ui::VKEY_SPACE, ui::ET_KEY_RELEASED);
+ ReleaseKey(ui::VKEY_SPACE);
EXPECT_EQ(1, menu_show_count());
EXPECT_FALSE(listener.on_perform_action_called());
}
@@ -584,11 +589,11 @@ TEST_F(ComboboxTest, NotifyOnClickWithSpaceKeyActionStyle) {
// With STYLE_ACTION, the click event is notified after releasing and the menu
// is not shown.
- SendKeyEvent(ui::VKEY_SPACE);
+ PressKey(ui::VKEY_SPACE);
EXPECT_EQ(0, menu_show_count());
EXPECT_FALSE(listener.on_perform_action_called());
- SendKeyEventWithType(ui::VKEY_SPACE, ui::ET_KEY_RELEASED);
+ ReleaseKey(ui::VKEY_SPACE);
EXPECT_EQ(0, menu_show_count());
EXPECT_TRUE(listener.on_perform_action_called());
EXPECT_EQ(0, listener.perform_action_index());
« ui/views/cocoa/bridged_content_view.mm ('K') | « ui/views/cocoa/bridged_content_view.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698