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

Unified Diff: chrome/browser/ui/tab_modal_confirm_dialog_browsertest.cc

Issue 18179004: Dismiss action in tab modal dialogs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make the tests pass with GTK and Cocoa Created 7 years, 5 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: chrome/browser/ui/tab_modal_confirm_dialog_browsertest.cc
diff --git a/chrome/browser/ui/tab_modal_confirm_dialog_browsertest.cc b/chrome/browser/ui/tab_modal_confirm_dialog_browsertest.cc
index b4355bad67064e56b2b36617bfb9f90105d86ccc..c24d752825405fef6245f05e0c4e4ef9dbf68e79 100644
--- a/chrome/browser/ui/tab_modal_confirm_dialog_browsertest.cc
+++ b/chrome/browser/ui/tab_modal_confirm_dialog_browsertest.cc
@@ -11,7 +11,10 @@
#include "chrome/browser/ui/browser_dialogs.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/test/base/ui_test_utils.h"
+#include "content/public/browser/page_navigator.h"
+#include "content/public/browser/web_contents.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/base/window_open_disposition.h"
MockTabModalConfirmDialogDelegate::MockTabModalConfirmDialogDelegate(
Delegate* delegate)
@@ -39,11 +42,17 @@ void MockTabModalConfirmDialogDelegate::OnCanceled() {
delegate_->OnCanceled();
}
+void MockTabModalConfirmDialogDelegate::OnClosed() {
+ if (delegate_)
+ delegate_->OnClosed();
+}
+
TabModalConfirmDialogTest::TabModalConfirmDialogTest()
: delegate_(NULL),
dialog_(NULL),
accepted_count_(0),
- canceled_count_(0) {
+ canceled_count_(0),
+ closed_count_(0) {
}
void TabModalConfirmDialogTest::SetUpOnMainThread() {
@@ -65,22 +74,49 @@ void TabModalConfirmDialogTest::OnCanceled() {
++canceled_count_;
}
+void TabModalConfirmDialogTest::OnClosed() {
+ ++closed_count_;
+}
+
IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Accept) {
dialog_->AcceptTabModalDialog();
EXPECT_EQ(1, accepted_count_);
EXPECT_EQ(0, canceled_count_);
+ EXPECT_EQ(0, closed_count_);
}
IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Cancel) {
dialog_->CancelTabModalDialog();
EXPECT_EQ(0, accepted_count_);
EXPECT_EQ(1, canceled_count_);
+ EXPECT_EQ(0, closed_count_);
}
IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, CancelSelf) {
delegate_->Cancel();
EXPECT_EQ(0, accepted_count_);
EXPECT_EQ(1, canceled_count_);
+ EXPECT_EQ(0, closed_count_);
+}
+
+IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Close) {
+ dialog_->CloseDialog();
+ EXPECT_EQ(0, accepted_count_);
+ EXPECT_EQ(0, canceled_count_);
+ EXPECT_EQ(1, closed_count_);
+}
+
+IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Navigate) {
+ content::OpenURLParams params(GURL("about:blank"),
+ content::Referrer(),
+ CURRENT_TAB,
+ content::PAGE_TRANSITION_LINK,
+ false);
+ browser()->tab_strip_model()->GetActiveWebContents()->OpenURL(params);
+
+ EXPECT_EQ(0, accepted_count_);
+ EXPECT_EQ(0, canceled_count_);
+ EXPECT_EQ(1, closed_count_);
}
IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Quit) {
@@ -88,5 +124,6 @@ IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Quit) {
base::Bind(&chrome::AttemptExit));
content::RunMessageLoop();
EXPECT_EQ(0, accepted_count_);
- EXPECT_EQ(1, canceled_count_);
+ EXPECT_EQ(0, canceled_count_);
+ EXPECT_EQ(1, closed_count_);
}

Powered by Google App Engine
This is Rietveld 408576698