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

Side by Side Diff: chrome/browser/ui/tab_modal_confirm_dialog_browsertest.cc

Issue 10972002: chrome: Add TabModalConfirmDialog interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 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 | Annotate | Revision Log
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/utf_string_conversions.h" 8 #include "base/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"
(...skipping 23 matching lines...) Expand all
34 DISALLOW_COPY_AND_ASSIGN(MockTabModalConfirmDialogDelegate); 34 DISALLOW_COPY_AND_ASSIGN(MockTabModalConfirmDialogDelegate);
35 }; 35 };
36 36
37 TabModalConfirmDialogTest::TabModalConfirmDialogTest() 37 TabModalConfirmDialogTest::TabModalConfirmDialogTest()
38 : delegate_(NULL), 38 : delegate_(NULL),
39 dialog_(NULL) {} 39 dialog_(NULL) {}
40 40
41 void TabModalConfirmDialogTest::SetUpOnMainThread() { 41 void TabModalConfirmDialogTest::SetUpOnMainThread() {
42 delegate_ = new MockTabModalConfirmDialogDelegate( 42 delegate_ = new MockTabModalConfirmDialogDelegate(
43 chrome::GetActiveWebContents(browser())); 43 chrome::GetActiveWebContents(browser()));
44 dialog_ = CreateTestDialog(delegate_, 44 dialog_ = TabModalConfirmDialog::Create(
45 chrome::GetActiveTabContents(browser())); 45 delegate_, chrome::GetActiveTabContents(browser()));
46 content::RunAllPendingInMessageLoop(); 46 content::RunAllPendingInMessageLoop();
47 } 47 }
48 48
49 void TabModalConfirmDialogTest::CleanUpOnMainThread() { 49 void TabModalConfirmDialogTest::CleanUpOnMainThread() {
50 content::RunAllPendingInMessageLoop(); 50 content::RunAllPendingInMessageLoop();
51 ::testing::Mock::VerifyAndClearExpectations(delegate_); 51 ::testing::Mock::VerifyAndClearExpectations(delegate_);
52 } 52 }
53 53
54 // On Mac OS, these methods need to be compiled as Objective-C++, so they're in
55 // a separate file.
56 #if !defined(OS_MACOSX)
57 TabModalConfirmDialog* TabModalConfirmDialogTest::CreateTestDialog(
58 TabModalConfirmDialogDelegate* delegate, TabContents* tab_contents) {
59 return new TabModalConfirmDialog(delegate, tab_contents);
60 }
61
62 void TabModalConfirmDialogTest::CloseDialog(bool accept) {
63 #if defined(TOOLKIT_GTK)
64 if (accept)
65 dialog_->OnAccept(NULL);
66 else
67 dialog_->OnCancel(NULL);
68 #else
69 if (accept)
70 dialog_->GetDialogClientView()->AcceptWindow();
71 else
72 dialog_->GetDialogClientView()->CancelWindow();
73 #endif
74 }
75 #endif // !defined(OS_MACOSX)
76
77 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Accept) { 54 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Accept) {
78 EXPECT_CALL(*delegate_, OnAccepted()); 55 EXPECT_CALL(*delegate_, OnAccepted());
79 CloseDialog(true); 56 dialog_->AcceptTabModalDialog();
80 } 57 }
81 58
82 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Cancel) { 59 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Cancel) {
83 EXPECT_CALL(*delegate_, OnCanceled()); 60 EXPECT_CALL(*delegate_, OnCanceled());
84 CloseDialog(false); 61 dialog_->CancelTabModalDialog();
85 } 62 }
86 63
87 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, CancelSelf) { 64 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, CancelSelf) {
88 EXPECT_CALL(*delegate_, OnCanceled()); 65 EXPECT_CALL(*delegate_, OnCanceled());
89 delegate_->Cancel(); 66 delegate_->Cancel();
90 } 67 }
91 68
92 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Quit) { 69 IN_PROC_BROWSER_TEST_F(TabModalConfirmDialogTest, Quit) {
93 EXPECT_CALL(*delegate_, OnCanceled()); 70 EXPECT_CALL(*delegate_, OnCanceled());
94 MessageLoopForUI::current()->PostTask(FROM_HERE, 71 MessageLoopForUI::current()->PostTask(FROM_HERE,
95 base::Bind(&browser::AttemptExit)); 72 base::Bind(&browser::AttemptExit));
96 content::RunMessageLoop(); 73 content::RunMessageLoop();
97 } 74 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698