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 1ced79b1aed7850b3c1cf1759aeec7a5db1ac14d..148b8169f6c28a10fb2775a9dc719abf2dc43fe0 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( |
content::WebContents* web_contents, |
@@ -41,11 +44,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() { |
@@ -68,22 +77,56 @@ 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, CloseSelf) { |
+ delegate_->Close(); |
+ 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) { |
@@ -91,5 +134,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_); |
} |