diff options
Diffstat (limited to 'chromium/ui/views/window/dialog_delegate_unittest.cc')
| -rw-r--r-- | chromium/ui/views/window/dialog_delegate_unittest.cc | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/chromium/ui/views/window/dialog_delegate_unittest.cc b/chromium/ui/views/window/dialog_delegate_unittest.cc index 86e957ddcb1..8dd6e231cf0 100644 --- a/chromium/ui/views/window/dialog_delegate_unittest.cc +++ b/chromium/ui/views/window/dialog_delegate_unittest.cc @@ -28,6 +28,7 @@ class TestDialog : public DialogDelegateView, public ButtonListener { : input_(new views::Textfield()), canceled_(false), accepted_(false), + closed_(false), closeable_(false), last_pressed_button_(nullptr), should_handle_escape_(false) { @@ -57,6 +58,10 @@ class TestDialog : public DialogDelegateView, public ButtonListener { accepted_ = true; return closeable_; } + bool Close() override { + closed_ = true; + return closeable_; + } // DialogDelegateView overrides: gfx::Size GetPreferredSize() const override { return gfx::Size(200, 200); } @@ -74,13 +79,18 @@ class TestDialog : public DialogDelegateView, public ButtonListener { Button* last_pressed_button() const { return last_pressed_button_; } - void CheckAndResetStates(bool canceled, bool accepted, Button* last_pressed) { + void CheckAndResetStates(bool canceled, + bool accepted, + bool closed, + Button* last_pressed) { EXPECT_EQ(canceled, canceled_); canceled_ = false; EXPECT_EQ(accepted, accepted_); accepted_ = false; EXPECT_EQ(last_pressed, last_pressed_button_); last_pressed_button_ = nullptr; + EXPECT_EQ(closed, closed_); + closed_ = false; } void TearDown() { @@ -99,6 +109,7 @@ class TestDialog : public DialogDelegateView, public ButtonListener { views::Textfield* input_; bool canceled_; bool accepted_; + bool closed_; // Prevent the dialog from closing, for repeated ok and cancel button clicks. bool closeable_; Button* last_pressed_button_; @@ -146,33 +157,33 @@ TEST_F(DialogTest, AcceptAndCancel) { LabelButton* ok_button = client_view->ok_button(); LabelButton* cancel_button = client_view->cancel_button(); - // Check that return/escape accelerators accept/cancel dialogs. + // Check that return/escape accelerators accept/close dialogs. EXPECT_EQ(dialog()->input(), dialog()->GetFocusManager()->GetFocusedView()); const ui::KeyEvent return_event( ui::ET_KEY_PRESSED, ui::VKEY_RETURN, ui::EF_NONE); SimulateKeyEvent(return_event); - dialog()->CheckAndResetStates(false, true, nullptr); + dialog()->CheckAndResetStates(false, true, false, nullptr); const ui::KeyEvent escape_event( ui::ET_KEY_PRESSED, ui::VKEY_ESCAPE, ui::EF_NONE); SimulateKeyEvent(escape_event); - dialog()->CheckAndResetStates(true, false, nullptr); + dialog()->CheckAndResetStates(false, false, true, nullptr); // Check ok and cancel button behavior on a directed return key events. ok_button->OnKeyPressed(return_event); - dialog()->CheckAndResetStates(false, true, nullptr); + dialog()->CheckAndResetStates(false, true, false, nullptr); cancel_button->OnKeyPressed(return_event); - dialog()->CheckAndResetStates(true, false, nullptr); + dialog()->CheckAndResetStates(true, false, false, nullptr); // Check that return accelerators cancel dialogs if cancel is focused. cancel_button->RequestFocus(); EXPECT_EQ(cancel_button, dialog()->GetFocusManager()->GetFocusedView()); SimulateKeyEvent(return_event); - dialog()->CheckAndResetStates(true, false, nullptr); + dialog()->CheckAndResetStates(true, false, false, nullptr); // Check that escape can be overridden. dialog()->set_should_handle_escape(true); SimulateKeyEvent(escape_event); - dialog()->CheckAndResetStates(false, false, nullptr); + dialog()->CheckAndResetStates(false, false, false, nullptr); } TEST_F(DialogTest, RemoveDefaultButton) { |
