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

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: 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 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 71f84c4b3d1de0b668d6c051d9d09a6c77f5b9fb..757bcfbec7c1783eafea8ec1720c5f6ae3bb355b 100644
--- a/chrome/browser/ui/cocoa/web_intent_sheet_controller_unittest.mm
+++ b/chrome/browser/ui/cocoa/web_intent_sheet_controller_unittest.mm
@@ -2,53 +2,35 @@
// 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 SetUp() {
+ CocoaTest::SetUp();
+ controller_ = [[WebIntentPickerSheetController alloc] initWithPicker:nil];
+ window_ = [controller_ window];
}
virtual void TearDown() {
- if (picker_.get()) {
- EXPECT_CALL(delegate_, OnCancelled());
- EXPECT_CALL(delegate_, OnClosing());
+ // Since we're not actually running the sheet, we must manually release.
+ [controller_ release];
- [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;
+ CocoaTest::TearDown();
}
// 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.
@@ -59,15 +41,15 @@ class WebIntentPickerSheetControllerTest
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 +65,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);
}
@@ -104,18 +86,17 @@ class WebIntentPickerSheetControllerTest
EXPECT_TRUE([button stringValue]);
}
- content::TestBrowserThread ui_thread_;
-};
+ // Controller under test.
+ WebIntentPickerSheetController* controller_;
-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 +105,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