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

Side by Side Diff: chrome/browser/printing/print_dialog_cloud_unittest.cc

Issue 10214001: WebDialogs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 8 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/printing/print_dialog_cloud.h" 5 #include "chrome/browser/printing/print_dialog_cloud.h"
6 #include "chrome/browser/printing/print_dialog_cloud_internal.h" 6 #include "chrome/browser/printing/print_dialog_cloud_internal.h"
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 ) 98 )
99 : CloudPrintFlowHandler(path, title, print_ticket, file_type, 99 : CloudPrintFlowHandler(path, title, print_ticket, file_type,
100 close_after_signin, callback) {} 100 close_after_signin, callback) {}
101 MOCK_METHOD0(DestructorCalled, void()); 101 MOCK_METHOD0(DestructorCalled, void());
102 MOCK_METHOD0(RegisterMessages, void()); 102 MOCK_METHOD0(RegisterMessages, void());
103 MOCK_METHOD3(Observe, 103 MOCK_METHOD3(Observe,
104 void(int type, 104 void(int type,
105 const content::NotificationSource& source, 105 const content::NotificationSource& source,
106 const content::NotificationDetails& details)); 106 const content::NotificationDetails& details));
107 MOCK_METHOD1(SetDialogDelegate, 107 MOCK_METHOD1(SetDialogDelegate,
108 void(CloudPrintHtmlDialogDelegate* delegate)); 108 void(CloudPrintWebDialogDelegate* delegate));
109 MOCK_METHOD0(CreateCloudPrintDataSender, 109 MOCK_METHOD0(CreateCloudPrintDataSender,
110 scoped_refptr<CloudPrintDataSender>()); 110 scoped_refptr<CloudPrintDataSender>());
111 }; 111 };
112 112
113 class MockCloudPrintHtmlDialogDelegate : public CloudPrintHtmlDialogDelegate { 113 class MockCloudPrintWebDialogDelegate : public CloudPrintWebDialogDelegate {
114 public: 114 public:
115 MOCK_CONST_METHOD0(GetDialogModalType, 115 MOCK_CONST_METHOD0(GetDialogModalType,
116 ui::ModalType()); 116 ui::ModalType());
117 MOCK_CONST_METHOD0(GetDialogTitle, 117 MOCK_CONST_METHOD0(GetDialogTitle,
118 string16()); 118 string16());
119 MOCK_CONST_METHOD0(GetDialogContentURL, 119 MOCK_CONST_METHOD0(GetDialogContentURL,
120 GURL()); 120 GURL());
121 MOCK_CONST_METHOD1(GetWebUIMessageHandlers, 121 MOCK_CONST_METHOD1(GetWebUIMessageHandlers,
122 void(std::vector<WebUIMessageHandler*>* handlers)); 122 void(std::vector<WebUIMessageHandler*>* handlers));
123 MOCK_CONST_METHOD1(GetDialogSize, 123 MOCK_CONST_METHOD1(GetDialogSize,
124 void(gfx::Size* size)); 124 void(gfx::Size* size));
125 MOCK_CONST_METHOD0(GetDialogArgs, 125 MOCK_CONST_METHOD0(GetDialogArgs,
126 std::string()); 126 std::string());
127 MOCK_METHOD1(OnDialogClosed, 127 MOCK_METHOD1(OnDialogClosed,
128 void(const std::string& json_retval)); 128 void(const std::string& json_retval));
129 MOCK_METHOD2(OnCloseContents, 129 MOCK_METHOD2(OnCloseContents,
130 void(WebContents* source, bool *out_close_dialog)); 130 void(WebContents* source, bool *out_close_dialog));
131 }; 131 };
132 132
133 } // namespace internal_cloud_print_helpers 133 } // namespace internal_cloud_print_helpers
134 134
135 using internal_cloud_print_helpers::CloudPrintDataSenderHelper; 135 using internal_cloud_print_helpers::CloudPrintDataSenderHelper;
136 using internal_cloud_print_helpers::CloudPrintDataSender; 136 using internal_cloud_print_helpers::CloudPrintDataSender;
137 137
138 class MockExternalHtmlDialogUI : public ExternalHtmlDialogUI { 138 class MockExternalWebDialogUI : public ExternalWebDialogUI {
139 public: 139 public:
140 MOCK_METHOD1(RenderViewCreated, 140 MOCK_METHOD1(RenderViewCreated,
141 void(content::RenderViewHost* render_view_host)); 141 void(content::RenderViewHost* render_view_host));
142 }; 142 };
143 143
144 class MockCloudPrintDataSenderHelper : public CloudPrintDataSenderHelper { 144 class MockCloudPrintDataSenderHelper : public CloudPrintDataSenderHelper {
145 public: 145 public:
146 // TODO(scottbyer): At some point this probably wants to use a 146 // TODO(scottbyer): At some point this probably wants to use a
147 // MockTabContents instead of NULL, and to pre-load it with a bunch 147 // MockTabContents instead of NULL, and to pre-load it with a bunch
148 // of expects/results. 148 // of expects/results.
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 282
283 FilePath empty_data_file_name = GetEmptyDataFileName(); 283 FilePath empty_data_file_name = GetEmptyDataFileName();
284 BrowserThread::PostTask( 284 BrowserThread::PostTask(
285 BrowserThread::FILE, FROM_HERE, 285 BrowserThread::FILE, FROM_HERE,
286 base::Bind(&CloudPrintDataSender::ReadPrintDataFile, 286 base::Bind(&CloudPrintDataSender::ReadPrintDataFile,
287 print_data_sender_.get(), empty_data_file_name)); 287 print_data_sender_.get(), empty_data_file_name));
288 MessageLoop::current()->RunAllPending(); 288 MessageLoop::current()->RunAllPending();
289 } 289 }
290 290
291 // Testing for CloudPrintFlowHandler needs a mock 291 // Testing for CloudPrintFlowHandler needs a mock
292 // CloudPrintHtmlDialogDelegate, mock CloudPrintDataSender, and a mock 292 // CloudPrintWebDialogDelegate, mock CloudPrintDataSender, and a mock
293 // WebUI. 293 // WebUI.
294 294
295 // Testing for CloudPrintHtmlDialogDelegate needs a mock 295 // Testing for CloudPrintWebDialogDelegate needs a mock
296 // CloudPrintFlowHandler. 296 // CloudPrintFlowHandler.
297 297
298 using internal_cloud_print_helpers::MockCloudPrintFlowHandler; 298 using internal_cloud_print_helpers::MockCloudPrintFlowHandler;
299 using internal_cloud_print_helpers::CloudPrintHtmlDialogDelegate; 299 using internal_cloud_print_helpers::CloudPrintWebDialogDelegate;
300 300
301 class CloudPrintHtmlDialogDelegateTest : public testing::Test { 301 class CloudPrintWebDialogDelegateTest : public testing::Test {
302 public: 302 public:
303 CloudPrintHtmlDialogDelegateTest() 303 CloudPrintWebDialogDelegateTest()
304 : ui_thread_(BrowserThread::UI, &message_loop_) {} 304 : ui_thread_(BrowserThread::UI, &message_loop_) {}
305 305
306 protected: 306 protected:
307 virtual void SetUp() { 307 virtual void SetUp() {
308 FilePath mock_path; 308 FilePath mock_path;
309 string16 mock_title; 309 string16 mock_title;
310 string16 mock_print_ticket; 310 string16 mock_print_ticket;
311 std::string mock_file_type; 311 std::string mock_file_type;
312 MockCloudPrintFlowHandler* handler = 312 MockCloudPrintFlowHandler* handler =
313 new MockCloudPrintFlowHandler(mock_path, mock_print_ticket, 313 new MockCloudPrintFlowHandler(mock_path, mock_print_ticket,
314 mock_title, mock_file_type, 314 mock_title, mock_file_type,
315 false, base::Closure()); 315 false, base::Closure());
316 mock_flow_handler_ = handler->AsWeakPtr(); 316 mock_flow_handler_ = handler->AsWeakPtr();
317 EXPECT_CALL(*mock_flow_handler_.get(), SetDialogDelegate(_)); 317 EXPECT_CALL(*mock_flow_handler_.get(), SetDialogDelegate(_));
318 EXPECT_CALL(*mock_flow_handler_.get(), SetDialogDelegate(NULL)); 318 EXPECT_CALL(*mock_flow_handler_.get(), SetDialogDelegate(NULL));
319 delegate_.reset(new CloudPrintHtmlDialogDelegate( 319 delegate_.reset(new CloudPrintWebDialogDelegate(
320 mock_flow_handler_.get(), 100, 100, std::string(), true, false)); 320 mock_flow_handler_.get(), 100, 100, std::string(), true, false));
321 } 321 }
322 322
323 virtual void TearDown() { 323 virtual void TearDown() {
324 delegate_.reset(); 324 delegate_.reset();
325 if (mock_flow_handler_) 325 if (mock_flow_handler_)
326 delete mock_flow_handler_.get(); 326 delete mock_flow_handler_.get();
327 } 327 }
328 328
329 MessageLoopForUI message_loop_; 329 MessageLoopForUI message_loop_;
330 content::TestBrowserThread ui_thread_; 330 content::TestBrowserThread ui_thread_;
331 base::WeakPtr<MockCloudPrintFlowHandler> mock_flow_handler_; 331 base::WeakPtr<MockCloudPrintFlowHandler> mock_flow_handler_;
332 scoped_ptr<CloudPrintHtmlDialogDelegate> delegate_; 332 scoped_ptr<CloudPrintWebDialogDelegate> delegate_;
333 }; 333 };
334 334
335 TEST_F(CloudPrintHtmlDialogDelegateTest, BasicChecks) { 335 TEST_F(CloudPrintWebDialogDelegateTest, BasicChecks) {
336 EXPECT_EQ(ui::MODAL_TYPE_WINDOW, delegate_->GetDialogModalType()); 336 EXPECT_EQ(ui::MODAL_TYPE_WINDOW, delegate_->GetDialogModalType());
337 EXPECT_THAT(delegate_->GetDialogContentURL().spec(), 337 EXPECT_THAT(delegate_->GetDialogContentURL().spec(),
338 StrEq(chrome::kChromeUICloudPrintResourcesURL)); 338 StrEq(chrome::kChromeUICloudPrintResourcesURL));
339 EXPECT_TRUE(delegate_->GetDialogTitle().empty()); 339 EXPECT_TRUE(delegate_->GetDialogTitle().empty());
340 340
341 bool close_dialog = false; 341 bool close_dialog = false;
342 delegate_->OnCloseContents(NULL, &close_dialog); 342 delegate_->OnCloseContents(NULL, &close_dialog);
343 EXPECT_TRUE(close_dialog); 343 EXPECT_TRUE(close_dialog);
344 } 344 }
345 345
346 TEST_F(CloudPrintHtmlDialogDelegateTest, OwnedFlowDestroyed) { 346 TEST_F(CloudPrintWebDialogDelegateTest, OwnedFlowDestroyed) {
347 delegate_.reset(); 347 delegate_.reset();
348 EXPECT_THAT(mock_flow_handler_.get(), IsNull()); 348 EXPECT_THAT(mock_flow_handler_.get(), IsNull());
349 } 349 }
350 350
351 TEST_F(CloudPrintHtmlDialogDelegateTest, UnownedFlowLetGo) { 351 TEST_F(CloudPrintWebDialogDelegateTest, UnownedFlowLetGo) {
352 std::vector<WebUIMessageHandler*> handlers; 352 std::vector<WebUIMessageHandler*> handlers;
353 delegate_->GetWebUIMessageHandlers(&handlers); 353 delegate_->GetWebUIMessageHandlers(&handlers);
354 delegate_.reset(); 354 delegate_.reset();
355 EXPECT_THAT(mock_flow_handler_.get(), NotNull()); 355 EXPECT_THAT(mock_flow_handler_.get(), NotNull());
356 } 356 }
357 357
358 // Testing for ExternalHtmlDialogUI needs a mock WebContents, mock 358 // Testing for ExternalWebDialogUI needs a mock WebContents, mock
359 // CloudPrintHtmlDialogDelegate (provided through the mock 359 // CloudPrintWebDialogDelegate (provided through the mock
360 // tab_contents) 360 // tab_contents)
361 361
362 // Testing for PrintDialogCloud needs a mock Browser. 362 // Testing for PrintDialogCloud needs a mock Browser.
OLDNEW
« no previous file with comments | « chrome/browser/printing/print_dialog_cloud_internal.h ('k') | chrome/browser/printing/print_preview_tab_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698