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

Side by Side 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: Fix test for Mac Created 7 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/tab_modal_confirm_dialog_browsertest.h" 5 #include "chrome/browser/ui/tab_modal_confirm_dialog_browsertest.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/lifetime/application_lifetime.h" 9 #include "chrome/browser/lifetime/application_lifetime.h"
10 #include "chrome/browser/ui/browser.h" 10 #include "chrome/browser/ui/browser.h"
11 #include "chrome/browser/ui/browser_dialogs.h" 11 #include "chrome/browser/ui/browser_dialogs.h"
12 #include "chrome/browser/ui/tabs/tab_strip_model.h" 12 #include "chrome/browser/ui/tabs/tab_strip_model.h"
13 #include "chrome/test/base/ui_test_utils.h" 13 #include "chrome/test/base/ui_test_utils.h"
14 #include "content/public/browser/page_navigator.h"
15 #include "content/public/browser/web_contents.h"
14 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
17 #include "ui/base/window_open_disposition.h"
15 18
16 MockTabModalConfirmDialogDelegate::MockTabModalConfirmDialogDelegate( 19 MockTabModalConfirmDialogDelegate::MockTabModalConfirmDialogDelegate(
17 content::WebContents* web_contents, 20 content::WebContents* web_contents,
18 Delegate* delegate) 21 Delegate* delegate)
19 : TabModalConfirmDialogDelegate(web_contents), 22 : TabModalConfirmDialogDelegate(web_contents),
20 delegate_(delegate) { 23 delegate_(delegate) {
21 } 24 }
22 25
23 MockTabModalConfirmDialogDelegate::~MockTabModalConfirmDialogDelegate() { 26 MockTabModalConfirmDialogDelegate::~MockTabModalConfirmDialogDelegate() {
24 } 27 }
25 28
26 string16 MockTabModalConfirmDialogDelegate::GetTitle() { 29 string16 MockTabModalConfirmDialogDelegate::GetTitle() {
27 return string16(); 30 return string16();
28 } 31 }
29 32
30 string16 MockTabModalConfirmDialogDelegate::GetMessage() { 33 string16 MockTabModalConfirmDialogDelegate::GetMessage() {
31 return string16(); 34 return string16();
32 } 35 }
33 36
34 void MockTabModalConfirmDialogDelegate::OnAccepted() { 37 void MockTabModalConfirmDialogDelegate::OnAccepted() {
35 if (delegate_) 38 if (delegate_)
36 delegate_->OnAccepted(); 39 delegate_->OnAccepted();
37 } 40 }
38 41
39 void MockTabModalConfirmDialogDelegate::OnCanceled() { 42 void MockTabModalConfirmDialogDelegate::OnCanceled() {
40 if (delegate_) 43 if (delegate_)
41 delegate_->OnCanceled(); 44 delegate_->OnCanceled();
42 } 45 }
43 46
47 void MockTabModalConfirmDialogDelegate::OnClosed() {
48 if (delegate_)
49 delegate_->OnClosed();
50 }
51
44 TabModalConfirmDialogTest::TabModalConfirmDialogTest() 52 TabModalConfirmDialogTest::TabModalConfirmDialogTest()
45 : delegate_(NULL), 53 : delegate_(NULL),
46 dialog_(NULL), 54 dialog_(NULL),
47 accepted_count_(0), 55 accepted_count_(0),
48 canceled_count_(0) { 56 canceled_count_(0),
57 closed_count_(0) {
49 } 58 }
50 59
51 void TabModalConfirmDialogTest::SetUpOnMainThread() { 60 void TabModalConfirmDialogTest::SetUpOnMainThread() {
52 delegate_ = new MockTabModalConfirmDialogDelegate( 61 delegate_ = new MockTabModalConfirmDialogDelegate(
53 browser()->tab_strip_model()->GetActiveWebContents(), this); 62 browser()->tab_strip_model()->GetActiveWebContents(), this);
54 dialog_ = TabModalConfirmDialog::Create( 63 dialog_ = TabModalConfirmDialog::Create(
55 delegate_, browser()->tab_strip_model()->GetActiveWebContents()); 64 delegate_, browser()->tab_strip_model()->GetActiveWebContents());
56 content::RunAllPendingInMessageLoop(); 65 content::RunAllPendingInMessageLoop();
57 } 66 }
58 67
59 void TabModalConfirmDialogTest::CleanUpOnMainThread() { 68 void TabModalConfirmDialogTest::CleanUpOnMainThread() {
60 content::RunAllPendingInMessageLoop(); 69 content::RunAllPendingInMessageLoop();
61 } 70 }
62 71
63 void TabModalConfirmDialogTest::OnAccepted() { 72 void TabModalConfirmDialogTest::OnAccepted() {
64 ++accepted_count_; 73 ++accepted_count_;
65 } 74 }
66 75
67 void TabModalConfirmDialogTest::OnCanceled() { 76 void TabModalConfirmDialogTest::OnCanceled() {
68 ++canceled_count_; 77 ++canceled_count_;
69 } 78 }
70 79
80 void TabModalConfirmDialogTest::OnClosed() {
81 ++closed_count_;
82 }
83
71 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Accept) { 84 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Accept) {
72 dialog_->AcceptTabModalDialog(); 85 dialog_->AcceptTabModalDialog();
73 EXPECT_EQ(1, accepted_count_); 86 EXPECT_EQ(1, accepted_count_);
74 EXPECT_EQ(0, canceled_count_); 87 EXPECT_EQ(0, canceled_count_);
88 EXPECT_EQ(0, closed_count_);
75 } 89 }
76 90
77 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Cancel) { 91 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Cancel) {
78 dialog_->CancelTabModalDialog(); 92 dialog_->CancelTabModalDialog();
79 EXPECT_EQ(0, accepted_count_); 93 EXPECT_EQ(0, accepted_count_);
80 EXPECT_EQ(1, canceled_count_); 94 EXPECT_EQ(1, canceled_count_);
95 EXPECT_EQ(0, closed_count_);
81 } 96 }
82 97
83 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, CancelSelf) { 98 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, CancelSelf) {
84 delegate_->Cancel(); 99 delegate_->Cancel();
85 EXPECT_EQ(0, accepted_count_); 100 EXPECT_EQ(0, accepted_count_);
86 EXPECT_EQ(1, canceled_count_); 101 EXPECT_EQ(1, canceled_count_);
102 EXPECT_EQ(0, closed_count_);
103 }
104
105 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Close) {
106 dialog_->CloseDialog();
107 EXPECT_EQ(0, accepted_count_);
108 EXPECT_EQ(0, canceled_count_);
109 EXPECT_EQ(1, closed_count_);
110 }
111
112 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, CloseSelf) {
113 delegate_->Close();
114 EXPECT_EQ(0, accepted_count_);
115 EXPECT_EQ(0, canceled_count_);
116 EXPECT_EQ(1, closed_count_);
117 }
118
119 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Navigate) {
120 content::OpenURLParams params(GURL("about:blank"),
121 content::Referrer(),
122 CURRENT_TAB,
123 content::PAGE_TRANSITION_LINK,
124 false);
125 browser()->tab_strip_model()->GetActiveWebContents()->OpenURL(params);
126
127 EXPECT_EQ(0, accepted_count_);
128 EXPECT_EQ(0, canceled_count_);
129 EXPECT_EQ(1, closed_count_);
87 } 130 }
88 131
89 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Quit) { 132 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Quit) {
90 base::MessageLoopForUI::current()->PostTask(FROM_HERE, 133 base::MessageLoopForUI::current()->PostTask(FROM_HERE,
91 base::Bind(&chrome::AttemptExit)); 134 base::Bind(&chrome::AttemptExit));
92 content::RunMessageLoop(); 135 content::RunMessageLoop();
93 EXPECT_EQ(0, accepted_count_); 136 EXPECT_EQ(0, accepted_count_);
94 EXPECT_EQ(1, canceled_count_); 137 EXPECT_EQ(0, canceled_count_);
138 EXPECT_EQ(1, closed_count_);
95 } 139 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/tab_modal_confirm_dialog_browsertest.h ('k') | chrome/browser/ui/tab_modal_confirm_dialog_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698