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

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: Fix 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"
Robert Sesek 2012/04/30 23:54:30 nit: already #included
groby-ooo-7-16 2012/05/01 02:57:32 Done.
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_METHOD1(OnExtensionLinkClicked, void(const std::string& id));
25 MOCK_METHOD0(OnSuggestionsLinkClicked, void ());
26 MOCK_METHOD0(OnCancelled, void());
27 MOCK_METHOD0(OnClosing, void());
14 }; 28 };
15 29
30 class WebIntentSheetControllerBrowserTest : public InProcessBrowserTest {
31 public:
32 void CreateBubble(TabContentsWrapper* wrapper);
33 void CreatePicker();
34
35 WebIntentPickerSheetController* controller_; // Weak, owns self.
36 NSWindow* window_; // Weak, owned by controller.
37 scoped_ptr<WebIntentPickerCocoa> picker_;
38 MockIntentPickerDelegate delegate_;
39 WebIntentPickerModel model_; // The model used by the picker
40 };
41
42 void WebIntentSheetControllerBrowserTest::CreateBubble(
43 TabContentsWrapper* wrapper) {
44 picker_.reset(new WebIntentPickerCocoa(NULL, wrapper, &delegate_, &model_));
45
46 controller_ =
47 [[WebIntentPickerSheetController alloc] initWithPicker:picker_.get()];
48 window_ = [controller_ window];
49 [controller_ showWindow:nil];
50 }
51
52 void WebIntentSheetControllerBrowserTest::CreatePicker() {
53 picker_.reset(new WebIntentPickerCocoa());
54 picker_->delegate_ = &delegate_;
55 picker_->model_ = &model_;
56 window_ = nil;
57 controller_ = nil;
58 }
59
16 IN_PROC_BROWSER_TEST_F(WebIntentSheetControllerBrowserTest, CloseWillClose) { 60 IN_PROC_BROWSER_TEST_F(WebIntentSheetControllerBrowserTest, CloseWillClose) {
17 CreateBubble(browser()->GetSelectedTabContentsWrapper()); 61 CreateBubble(browser()->GetSelectedTabContentsWrapper());
18 62
19 EXPECT_CALL(delegate_, OnCancelled()).Times(0); 63 EXPECT_CALL(delegate_, OnCancelled()).Times(0);
20 EXPECT_CALL(delegate_, OnClosing()); 64 EXPECT_CALL(delegate_, OnClosing());
21 picker_->Close(); 65 picker_->Close();
22 66
23 ignore_result(picker_.release()); // Closing |picker_| will destruct it. 67 ignore_result(picker_.release()); // Closing |picker_| will destruct it.
24 } 68 }
25 69
26 IN_PROC_BROWSER_TEST_F(WebIntentSheetControllerBrowserTest, 70 IN_PROC_BROWSER_TEST_F(WebIntentSheetControllerBrowserTest,
27 DontCancelAfterServiceInvokation) { 71 DontCancelAfterServiceInvokation) {
28 CreateBubble(browser()->GetSelectedTabContentsWrapper()); 72 CreateBubble(browser()->GetSelectedTabContentsWrapper());
29 73
30 GURL url; 74 GURL url;
31 model_.AddInstalledService(string16(), url, 75 model_.AddInstalledService(string16(), url,
32 WebIntentPickerModel::DISPOSITION_WINDOW); 76 WebIntentPickerModel::DISPOSITION_WINDOW);
33 77
34 EXPECT_CALL(delegate_, OnServiceChosen( 78 EXPECT_CALL(delegate_, OnServiceChosen(
35 url, WebIntentPickerModel::DISPOSITION_WINDOW)); 79 url, WebIntentPickerModel::DISPOSITION_WINDOW));
36 EXPECT_CALL(delegate_, OnCancelled()).Times(0); 80 EXPECT_CALL(delegate_, OnCancelled()).Times(0);
37 EXPECT_CALL(delegate_, OnClosing()); 81 EXPECT_CALL(delegate_, OnClosing());
38 82
39 picker_->OnServiceChosen(0); 83 picker_->OnServiceChosen(0);
40 picker_->Close(); 84 picker_->Close();
41 85
42 ignore_result(picker_.release()); // Closing |picker_| will destruct it. 86 ignore_result(picker_.release()); // Closing |picker_| will destruct it.
43 } 87 }
44 88
89 IN_PROC_BROWSER_TEST_F(WebIntentSheetControllerBrowserTest,
90 OnCancelledWillSignalClose) {
91 CreatePicker();
92 EXPECT_CALL(delegate_, OnCancelled());
93 EXPECT_CALL(delegate_, OnClosing());
94 picker_->OnCancelled();
95
96 ignore_result(picker_.release()); // Closing |picker_| will destruct it.
97 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698