Index: chrome/browser/ui/cocoa/sad_tab_controller_unittest.mm |
=================================================================== |
--- chrome/browser/ui/cocoa/sad_tab_controller_unittest.mm (revision 71953) |
+++ chrome/browser/ui/cocoa/sad_tab_controller_unittest.mm (working copy) |
@@ -1,113 +0,0 @@ |
-// Copyright (c) 2009 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "base/debug/debugger.h" |
-#include "base/scoped_nsobject.h" |
-#import "chrome/browser/ui/cocoa/cocoa_test_helper.h" |
-#import "chrome/browser/ui/cocoa/sad_tab_controller.h" |
-#import "chrome/browser/ui/cocoa/sad_tab_view.h" |
-#include "chrome/browser/renderer_host/test/test_render_view_host.h" |
-#include "chrome/browser/tab_contents/test_tab_contents.h" |
-#include "chrome/test/testing_profile.h" |
- |
-@interface SadTabView (ExposedForTesting) |
-// Implementation is below. |
-- (NSButton*)linkButton; |
-@end |
- |
-@implementation SadTabView (ExposedForTesting) |
-- (NSButton*)linkButton { |
- return linkButton_; |
-} |
-@end |
- |
-namespace { |
- |
-class SadTabControllerTest : public RenderViewHostTestHarness { |
- public: |
- SadTabControllerTest() : test_window_(nil) { |
- link_clicked_ = false; |
- } |
- |
- virtual void SetUp() { |
- RenderViewHostTestHarness::SetUp(); |
- // Inherting from RenderViewHostTestHarness means we can't inherit from |
- // from CocoaTest, so do a bootstrap and create test window. |
- CocoaTest::BootstrapCocoa(); |
- test_window_ = [[CocoaTestHelperWindow alloc] init]; |
- if (base::debug::BeingDebugged()) { |
- [test_window_ orderFront:nil]; |
- } else { |
- [test_window_ orderBack:nil]; |
- } |
- } |
- |
- virtual void TearDown() { |
- [test_window_ close]; |
- test_window_ = nil; |
- RenderViewHostTestHarness::TearDown(); |
- } |
- |
- // Creates the controller and adds its view to contents, caller has ownership. |
- SadTabController* CreateController() { |
- NSView* contentView = [test_window_ contentView]; |
- SadTabController* controller = |
- [[SadTabController alloc] initWithTabContents:contents() |
- superview:contentView]; |
- EXPECT_TRUE(controller); |
- NSView* view = [controller view]; |
- EXPECT_TRUE(view); |
- |
- return controller; |
- } |
- |
- NSButton* GetLinkButton(SadTabController* controller) { |
- SadTabView* view = static_cast<SadTabView*>([controller view]); |
- return ([view linkButton]); |
- } |
- |
- static bool link_clicked_; |
- CocoaTestHelperWindow* test_window_; |
-}; |
- |
-// static |
-bool SadTabControllerTest::link_clicked_; |
- |
-TEST_F(SadTabControllerTest, WithTabContents) { |
- scoped_nsobject<SadTabController> controller(CreateController()); |
- EXPECT_TRUE(controller); |
- NSButton* link = GetLinkButton(controller); |
- EXPECT_TRUE(link); |
-} |
- |
-TEST_F(SadTabControllerTest, WithoutTabContents) { |
- contents_.reset(); |
- scoped_nsobject<SadTabController> controller(CreateController()); |
- EXPECT_TRUE(controller); |
- NSButton* link = GetLinkButton(controller); |
- EXPECT_FALSE(link); |
-} |
- |
-TEST_F(SadTabControllerTest, ClickOnLink) { |
- scoped_nsobject<SadTabController> controller(CreateController()); |
- NSButton* link = GetLinkButton(controller); |
- EXPECT_TRUE(link); |
- EXPECT_FALSE(link_clicked_); |
- [link performClick:link]; |
- EXPECT_TRUE(link_clicked_); |
-} |
- |
-} // namespace |
- |
-@implementation NSApplication (SadTabControllerUnitTest) |
-// Add handler for the openLearnMoreAboutCrashLink: action to NSApp for testing |
-// purposes. Normally this would be sent up the responder tree correctly, but |
-// since tests run in the background, key window and main window are never set |
-// on NSApplication. Adding it to NSApplication directly removes the need for |
-// worrying about what the current window with focus is. |
-- (void)openLearnMoreAboutCrashLink:(id)sender { |
- SadTabControllerTest::link_clicked_ = true; |
-} |
- |
-@end |