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

Unified Diff: chrome/browser/ui/cocoa/web_intent_sheet_controller_unittest.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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/web_intent_sheet_controller_unittest.mm
diff --git a/chrome/browser/ui/cocoa/web_intent_sheet_controller_unittest.mm b/chrome/browser/ui/cocoa/web_intent_sheet_controller_unittest.mm
index 2df88c7e6741d4d0d40d4afecf8d3cc929f6bf14..e814c707f1d473c42f17eef25204adbbeb095449 100644
--- a/chrome/browser/ui/cocoa/web_intent_sheet_controller_unittest.mm
+++ b/chrome/browser/ui/cocoa/web_intent_sheet_controller_unittest.mm
@@ -2,72 +2,47 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/basictypes.h"
-#include "base/message_loop.h"
+#import "chrome/browser/ui/cocoa/web_intent_sheet_controller.h"
+
+#include "base/memory/scoped_nsobject.h"
#import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
#import "chrome/browser/ui/cocoa/hover_close_button.h"
#import "chrome/browser/ui/cocoa/hyperlink_button_cell.h"
-#import "chrome/browser/ui/cocoa/info_bubble_window.h"
-#import "chrome/browser/ui/cocoa/web_intent_sheet_controller.h"
-#include "chrome/browser/ui/cocoa/web_intent_picker_cocoa.h"
-#include "chrome/browser/ui/cocoa/web_intent_picker_test_base.h"
-#include "chrome/browser/ui/intents/web_intent_picker_delegate.h"
-#include "chrome/browser/ui/tab_contents/test_tab_contents_wrapper.h"
+#include "chrome/browser/ui/intents/web_intent_picker_model.h"
#include "content/test/test_browser_thread.h"
#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/platform_test.h"
-class WebIntentPickerSheetControllerTest
- : public TabContentsWrapperTestHarness,
- public WebIntentPickerTestBase {
+class WebIntentPickerSheetControllerTest : public CocoaTest {
public:
- WebIntentPickerSheetControllerTest()
- : ui_thread_(content::BrowserThread::UI, MessageLoopForUI::current()) {}
-
- virtual ~WebIntentPickerSheetControllerTest() {
- message_loop_.RunAllPending();
- }
-
- virtual void TearDown() {
- if (picker_.get()) {
- EXPECT_CALL(delegate_, OnCancelled());
- EXPECT_CALL(delegate_, OnClosing());
-
- [controller_ cancelOperation:controller_];
- // Closing |controller_| destroys |picker_|.
- ignore_result(picker_.release());
- }
- TabContentsWrapperTestHarness::TearDown();
- }
- void CreatePicker() {
- picker_.reset(new WebIntentPickerCocoa());
- picker_->delegate_ = &delegate_;
- picker_->model_ = &model_;
- window_ = nil;
- controller_ = nil;
+ virtual void SetUp() {
Robert Sesek 2012/04/17 23:15:39 CocoaTest::SetUp()
groby-ooo-7-16 2012/04/25 23:19:16 Done.
+ controller_.reset(
+ [[WebIntentPickerSheetController alloc] initWithPicker:nil]);
+ window_ = [controller_ window];
}
// Checks the controller's window for the requisite subviews and icons.
- void CheckWindow(size_t icon_count) {
+ void CheckWindow(size_t row_count) {
NSArray* flip_views = [[window_ contentView] subviews];
// Check for proper firstResponder.
- ASSERT_EQ(controller_, [window_ firstResponder]);
+ ASSERT_EQ(controller_.get(), [window_ firstResponder]);
// Expect 1 subview - the flip view.
ASSERT_EQ(1U, [flip_views count]);
NSArray* views = [[flip_views objectAtIndex:0] subviews];
- // 4 + |icon_count| subviews - icon, header text, close button,
- // |icon_count| buttons, and a CWS link.
- ASSERT_EQ(4U + icon_count, [views count]);
+ // 4 + |row_count| subviews - icon, header text, close button,
+ // |row_count| buttons, and a CWS link.
+ ASSERT_EQ(4U + row_count, [views count]);
ASSERT_TRUE([[views objectAtIndex:0] isKindOfClass:[NSTextField class]]);
ASSERT_TRUE([[views objectAtIndex:1] isKindOfClass:[NSImageView class]]);
ASSERT_TRUE([[views objectAtIndex:2] isKindOfClass:
[HoverCloseButton class]]);
- for(NSUInteger i = 0; i < icon_count; ++i) {
+ for(NSUInteger i = 0; i < row_count; ++i) {
ASSERT_TRUE([[views objectAtIndex:3 + i] isKindOfClass:
[NSButton class]]);
}
@@ -83,7 +58,7 @@ class WebIntentPickerSheetControllerTest
CheckButton(button, @selector(showChromeWebStore:));
// Verify buttons pointing to services.
- for(NSUInteger i = 0; i < icon_count; ++i) {
+ for(NSUInteger i = 0; i < row_count; ++i) {
NSButton* button = [views objectAtIndex:3 + i];
CheckServiceButton(button, i);
}
@@ -100,22 +75,21 @@ class WebIntentPickerSheetControllerTest
EXPECT_TRUE([button isKindOfClass:[NSButton class]] ||
[button isKindOfClass:[NSButtonCell class]]);
EXPECT_EQ(action, [button action]);
- EXPECT_EQ(controller_, [button target]);
+ EXPECT_EQ(controller_.get(), [button target]);
EXPECT_TRUE([button stringValue]);
}
- content::TestBrowserThread ui_thread_;
-};
+ // Controller under test.
+ scoped_nsobject<WebIntentPickerSheetController> controller_;
Robert Sesek 2012/04/17 23:15:39 This doesn't own itself?
groby-ooo-7-16 2012/04/25 23:19:16 Usually, it does. But releasing requires properly
-TEST_F(WebIntentPickerSheetControllerTest, EmptyBubble) {
- CreateBubble(contents_wrapper());
+ NSWindow* window_; // Weak, owned by |controller_|.
+};
- CheckWindow(/*icon_count=*/0);
+TEST_F(WebIntentPickerSheetControllerTest, NoRows) {
+ CheckWindow(/*row_count=*/0);
}
-TEST_F(WebIntentPickerSheetControllerTest, PopulatedBubble) {
- CreateBubble(contents_wrapper());
-
+TEST_F(WebIntentPickerSheetControllerTest, PopulatedRows) {
WebIntentPickerModel model;
model.AddInstalledService(string16(), GURL(),
WebIntentPickerModel::DISPOSITION_WINDOW);
@@ -124,22 +98,10 @@ TEST_F(WebIntentPickerSheetControllerTest, PopulatedBubble) {
[controller_ performLayoutWithModel:&model];
- CheckWindow(/*icon_count=*/2);
-}
-
-TEST_F(WebIntentPickerSheetControllerTest, OnCancelledWillSignalClose) {
- CreatePicker();
-
- EXPECT_CALL(delegate_, OnCancelled());
- EXPECT_CALL(delegate_, OnClosing());
- picker_->OnCancelled();
-
- ignore_result(picker_.release()); // Closing |picker_| will destruct it.
+ CheckWindow(/*row_count=*/2);
}
TEST_F(WebIntentPickerSheetControllerTest, SuggestionView) {
- CreateBubble(contents_wrapper());
-
WebIntentPickerModel model;
model.AddSuggestedExtension(string16(), string16(), 2.5);

Powered by Google App Engine
This is Rietveld 408576698