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

Side by Side Diff: chrome/browser/ui/cocoa/web_intent_sheet_controller_browsertest.mm

Issue 10048005: Convert OSX intent picker unit tests to PlatformTests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed review issues 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 "base/memory/scoped_ptr.h"
5 #include "chrome/test/base/in_process_browser_test.h" 6 #include "chrome/test/base/in_process_browser_test.h"
6 #include "chrome/browser/ui/browser.h" 7 #include "chrome/browser/ui/browser.h"
7 #include "chrome/browser/ui/cocoa/web_intent_picker_test_base.h"
8 #include "chrome/browser/ui/cocoa/web_intent_picker_cocoa.h" 8 #include "chrome/browser/ui/cocoa/web_intent_picker_cocoa.h"
9 #import "chrome/browser/ui/cocoa/web_intent_sheet_controller.h"
10 #include "chrome/browser/ui/intents/web_intent_picker_delegate.h"
9 #include "chrome/browser/ui/intents/web_intent_picker_model.h" 11 #include "chrome/browser/ui/intents/web_intent_picker_model.h"
10 #include "testing/gmock/include/gmock/gmock.h" 12 #include "testing/gmock/include/gmock/gmock.h"
13 #include "testing/gmock/include/gmock/gmock.h"
11 14
12 class WebIntentSheetControllerBrowserTest : public InProcessBrowserTest, 15 class MockIntentPickerDelegate : public WebIntentPickerDelegate {
13 public WebIntentPickerTestBase { 16 public:
17 MockIntentPickerDelegate() {}
18 virtual ~MockIntentPickerDelegate() {}
19
20 MOCK_METHOD2(OnServiceChosen, void(const GURL& url, Disposition disposition));
21 MOCK_METHOD1(OnInlineDispositionWebContentsCreated,
22 void(content::WebContents* web_contents));
23 MOCK_METHOD1(OnExtensionInstallRequested, void(const std::string& id));
24 MOCK_METHOD0(OnCancelled, void());
25 MOCK_METHOD0(OnClosing, void());
14 }; 26 };
15 27
28 class WebIntentSheetControllerBrowserTest : public InProcessBrowserTest {
29 public:
30 void CreateBubble(TabContentsWrapper* wrapper);
Robert Sesek 2012/04/17 23:15:39 nit: indented 1 too many
groby-ooo-7-16 2012/04/25 23:19:16 Done.
31 void CreatePicker();
32
33 WebIntentPickerSheetController* controller_; // Weak, owns self.
34 NSWindow* window_; // Weak, owned by controller.
35 scoped_ptr<WebIntentPickerCocoa> picker_;
36 MockIntentPickerDelegate delegate_;
37 WebIntentPickerModel model_; // The model used by the picker
38 };
39
40 void WebIntentSheetControllerBrowserTest::CreateBubble(
41 TabContentsWrapper* wrapper) {
42 picker_.reset(new WebIntentPickerCocoa(NULL, wrapper, &delegate_, &model_));
43
44 controller_ =
45 [[WebIntentPickerSheetController alloc] initWithPicker:picker_.get()];
46 window_ = [controller_ window];
47 [controller_ showWindow:nil];
48 }
49
50 void WebIntentSheetControllerBrowserTest::CreatePicker() {
51 picker_.reset(new WebIntentPickerCocoa());
52 picker_->delegate_ = &delegate_;
53 picker_->model_ = &model_;
54 window_ = nil;
55 controller_ = nil;
56 }
57
16 IN_PROC_BROWSER_TEST_F(WebIntentSheetControllerBrowserTest, CloseWillClose) { 58 IN_PROC_BROWSER_TEST_F(WebIntentSheetControllerBrowserTest, CloseWillClose) {
17 CreateBubble(browser()->GetSelectedTabContentsWrapper()); 59 CreateBubble(browser()->GetSelectedTabContentsWrapper());
18 60
19 EXPECT_CALL(delegate_, OnCancelled()).Times(0); 61 EXPECT_CALL(delegate_, OnCancelled()).Times(0);
20 EXPECT_CALL(delegate_, OnClosing()); 62 EXPECT_CALL(delegate_, OnClosing());
21 picker_->Close(); 63 picker_->Close();
22 64
23 ignore_result(picker_.release()); // Closing |picker_| will destruct it. 65 ignore_result(picker_.release()); // Closing |picker_| will destruct it.
24 } 66 }
25 67
26 IN_PROC_BROWSER_TEST_F(WebIntentSheetControllerBrowserTest, 68 IN_PROC_BROWSER_TEST_F(WebIntentSheetControllerBrowserTest,
27 DontCancelAfterServiceInvokation) { 69 DontCancelAfterServiceInvokation) {
28 CreateBubble(browser()->GetSelectedTabContentsWrapper()); 70 CreateBubble(browser()->GetSelectedTabContentsWrapper());
29 71
30 GURL url; 72 GURL url;
31 model_.AddInstalledService(string16(), url, 73 model_.AddInstalledService(string16(), url,
32 WebIntentPickerModel::DISPOSITION_WINDOW); 74 WebIntentPickerModel::DISPOSITION_WINDOW);
33 75
34 EXPECT_CALL(delegate_, OnServiceChosen( 76 EXPECT_CALL(delegate_, OnServiceChosen(
35 url, WebIntentPickerModel::DISPOSITION_WINDOW)); 77 url, WebIntentPickerModel::DISPOSITION_WINDOW));
36 EXPECT_CALL(delegate_, OnCancelled()).Times(0); 78 EXPECT_CALL(delegate_, OnCancelled()).Times(0);
37 EXPECT_CALL(delegate_, OnClosing()); 79 EXPECT_CALL(delegate_, OnClosing());
38 80
39 picker_->OnServiceChosen(0); 81 picker_->OnServiceChosen(0);
40 picker_->Close(); 82 picker_->Close();
41 83
42 ignore_result(picker_.release()); // Closing |picker_| will destruct it. 84 ignore_result(picker_.release()); // Closing |picker_| will destruct it.
43 } 85 }
44 86
87 IN_PROC_BROWSER_TEST_F(WebIntentSheetControllerBrowserTest,
88 OnCancelledWillSignalClose) {
89 CreatePicker();
90 EXPECT_CALL(delegate_, OnCancelled());
91 EXPECT_CALL(delegate_, OnClosing());
92 picker_->OnCancelled();
93
94 ignore_result(picker_.release()); // Closing |picker_| will destruct it.
95 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698