Chromium Code Reviews| Index: chrome/browser/ui/cocoa/web_intent_sheet_controller_browsertest.mm |
| diff --git a/chrome/browser/ui/cocoa/web_intent_sheet_controller_browsertest.mm b/chrome/browser/ui/cocoa/web_intent_sheet_controller_browsertest.mm |
| index c39e6a3ac296d0565315537e31110346927d4ca2..db57db0172cff0afe67f0a96657cf6656f890323 100644 |
| --- a/chrome/browser/ui/cocoa/web_intent_sheet_controller_browsertest.mm |
| +++ b/chrome/browser/ui/cocoa/web_intent_sheet_controller_browsertest.mm |
| @@ -2,17 +2,66 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| +#include "base/memory/scoped_ptr.h" |
| #include "chrome/test/base/in_process_browser_test.h" |
| #include "chrome/browser/ui/browser.h" |
| -#include "chrome/browser/ui/cocoa/web_intent_picker_test_base.h" |
| #include "chrome/browser/ui/cocoa/web_intent_picker_cocoa.h" |
| +#import "chrome/browser/ui/cocoa/web_intent_sheet_controller.h" |
| +#include "chrome/browser/ui/intents/web_intent_picker_delegate.h" |
| #include "chrome/browser/ui/intents/web_intent_picker_model.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| +#include "testing/gmock/include/gmock/gmock.h" |
| + |
| +class MockIntentPickerDelegate : public WebIntentPickerDelegate { |
| + public: |
| + MockIntentPickerDelegate(); |
| + virtual ~MockIntentPickerDelegate(); |
| + |
| + MOCK_METHOD2(OnServiceChosen, void(const GURL& url, Disposition disposition)); |
| + MOCK_METHOD1(OnInlineDispositionWebContentsCreated, |
| + void(content::WebContents* web_contents)); |
| + MOCK_METHOD1(OnExtensionInstallRequested, void(const std::string& id)); |
| + MOCK_METHOD0(OnCancelled, void()); |
| + MOCK_METHOD0(OnClosing, void()); |
| +}; |
| + |
| +MockIntentPickerDelegate::MockIntentPickerDelegate() { |
|
Robert Sesek
2012/04/12 14:03:19
You could just inline these.
groby-ooo-7-16
2012/04/16 23:03:14
Done. Hoping clang doesn't object :)
On 2012/04/1
|
| +} |
| + |
| +MockIntentPickerDelegate::~MockIntentPickerDelegate() { |
| +} |
| -class WebIntentSheetControllerBrowserTest : public InProcessBrowserTest, |
| - public WebIntentPickerTestBase { |
| +class WebIntentSheetControllerBrowserTest : public InProcessBrowserTest { |
| + public: |
| + void CreateBubble(TabContentsWrapper* wrapper); |
| + void CreatePicker(); |
| + |
| + WebIntentPickerSheetController* controller_; // Weak, owns self. |
| + NSWindow* window_; // Weak, owned by controller. |
| + scoped_ptr<WebIntentPickerCocoa> picker_; |
| + MockIntentPickerDelegate delegate_; |
| + WebIntentPickerModel model_; // The model used by the picker |
| }; |
| +void WebIntentSheetControllerBrowserTest::CreateBubble( |
| + TabContentsWrapper* wrapper) |
| +{ |
|
Robert Sesek
2012/04/12 14:03:19
nit: goes on line 47
groby-ooo-7-16
2012/04/16 23:03:14
Done.
|
| + picker_.reset(new WebIntentPickerCocoa(NULL, wrapper, &delegate_, &model_)); |
| + |
| + controller_ = |
| + [[WebIntentPickerSheetController alloc] initWithPicker:picker_.get()]; |
| + window_ = [controller_ window]; |
| + [controller_ showWindow:nil]; |
| +} |
| + |
| +void WebIntentSheetControllerBrowserTest::CreatePicker() { |
| + picker_.reset(new WebIntentPickerCocoa()); |
| + picker_->delegate_ = &delegate_; |
| + picker_->model_ = &model_; |
| + window_ = nil; |
| + controller_ = nil; |
| +} |
| + |
| IN_PROC_BROWSER_TEST_F(WebIntentSheetControllerBrowserTest, CloseWillClose) { |
| CreateBubble(browser()->GetSelectedTabContentsWrapper()); |
| @@ -42,3 +91,14 @@ IN_PROC_BROWSER_TEST_F(WebIntentSheetControllerBrowserTest, |
| ignore_result(picker_.release()); // Closing |picker_| will destruct it. |
| } |
| +IN_PROC_BROWSER_TEST_F(WebIntentSheetControllerBrowserTest, |
| + OnCancelledWillSignalClose) { |
| + |
| + //CreateBubble(browser()->GetSelectedTabContentsWrapper()); |
|
Robert Sesek
2012/04/12 14:03:19
Remove?
groby-ooo-7-16
2012/04/16 23:03:14
Done.
|
| + CreatePicker(); |
| + EXPECT_CALL(delegate_, OnCancelled()); |
| + EXPECT_CALL(delegate_, OnClosing()); |
| + picker_->OnCancelled(); |
| + |
| + ignore_result(picker_.release()); // Closing |picker_| will destruct it. |
| +} |