Index: chrome/browser/ui/cocoa/tab_strip_controller_unittest.mm |
=================================================================== |
--- chrome/browser/ui/cocoa/tab_strip_controller_unittest.mm (revision 71805) |
+++ chrome/browser/ui/cocoa/tab_strip_controller_unittest.mm (working copy) |
@@ -1,177 +0,0 @@ |
-// Copyright (c) 2010 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. |
- |
-#import <Cocoa/Cocoa.h> |
- |
-#import "chrome/browser/browser_window.h" |
-#include "chrome/browser/tab_contents/tab_contents.h" |
-#include "chrome/browser/renderer_host/site_instance.h" |
-#include "chrome/browser/ui/cocoa/browser_test_helper.h" |
-#import "chrome/browser/ui/cocoa/cocoa_test_helper.h" |
-#import "chrome/browser/ui/cocoa/new_tab_button.h" |
-#import "chrome/browser/ui/cocoa/tab_strip_controller.h" |
-#import "chrome/browser/ui/cocoa/tab_strip_view.h" |
-#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
-#include "testing/platform_test.h" |
- |
-@interface TestTabStripControllerDelegate : |
- NSObject<TabStripControllerDelegate> { |
-} |
-@end |
- |
-@implementation TestTabStripControllerDelegate |
-- (void)onSelectTabWithContents:(TabContents*)contents { |
-} |
-- (void)onReplaceTabWithContents:(TabContents*)contents { |
-} |
-- (void)onSelectedTabChange:(TabStripModelObserver::TabChangeType)change { |
-} |
-- (void)onTabDetachedWithContents:(TabContents*)contents { |
-} |
-@end |
- |
-namespace { |
- |
-// Stub model delegate |
-class TestTabStripDelegate : public TabStripModelDelegate { |
- public: |
- virtual TabContentsWrapper* AddBlankTab(bool foreground) { |
- return NULL; |
- } |
- virtual TabContentsWrapper* AddBlankTabAt(int index, bool foreground) { |
- return NULL; |
- } |
- virtual Browser* CreateNewStripWithContents(TabContentsWrapper* contents, |
- const gfx::Rect& window_bounds, |
- const DockInfo& dock_info, |
- bool maximize) { |
- return NULL; |
- } |
- virtual void ContinueDraggingDetachedTab(TabContentsWrapper* contents, |
- const gfx::Rect& window_bounds, |
- const gfx::Rect& tab_bounds) { |
- } |
- virtual int GetDragActions() const { |
- return 0; |
- } |
- virtual TabContentsWrapper* CreateTabContentsForURL( |
- const GURL& url, |
- const GURL& referrer, |
- Profile* profile, |
- PageTransition::Type transition, |
- bool defer_load, |
- SiteInstance* instance) const { |
- return NULL; |
- } |
- virtual bool CanDuplicateContentsAt(int index) { return true; } |
- virtual void DuplicateContentsAt(int index) { } |
- virtual void CloseFrameAfterDragSession() { } |
- virtual void CreateHistoricalTab(TabContentsWrapper* contents) { } |
- virtual bool RunUnloadListenerBeforeClosing(TabContentsWrapper* contents) { |
- return true; |
- } |
- virtual bool CanRestoreTab() { |
- return true; |
- } |
- virtual void RestoreTab() {} |
- |
- virtual bool CanCloseContentsAt(int index) { return true; } |
- |
- virtual bool CanBookmarkAllTabs() const { return false; } |
- |
- virtual bool CanCloseTab() const { return true; } |
- |
- virtual void BookmarkAllTabs() {} |
- |
- virtual bool UseVerticalTabs() const { return false; } |
- |
- virtual void ToggleUseVerticalTabs() {} |
- |
- virtual bool LargeIconsPermitted() const { return true; } |
-}; |
- |
-class TabStripControllerTest : public CocoaTest { |
- public: |
- TabStripControllerTest() { |
- Browser* browser = browser_helper_.browser(); |
- BrowserWindow* browser_window = browser_helper_.CreateBrowserWindow(); |
- NSWindow* window = browser_window->GetNativeHandle(); |
- NSView* parent = [window contentView]; |
- NSRect content_frame = [parent frame]; |
- |
- // Create the "switch view" (view that gets changed out when a tab |
- // switches). |
- NSRect switch_frame = NSMakeRect(0, 0, content_frame.size.width, 500); |
- scoped_nsobject<NSView> switch_view( |
- [[NSView alloc] initWithFrame:switch_frame]); |
- [parent addSubview:switch_view.get()]; |
- |
- // Create the tab strip view. It's expected to have a child button in it |
- // already as the "new tab" button so create that too. |
- NSRect strip_frame = NSMakeRect(0, NSMaxY(switch_frame), |
- content_frame.size.width, 30); |
- scoped_nsobject<TabStripView> tab_strip( |
- [[TabStripView alloc] initWithFrame:strip_frame]); |
- [parent addSubview:tab_strip.get()]; |
- NSRect button_frame = NSMakeRect(0, 0, 15, 15); |
- scoped_nsobject<NewTabButton> new_tab_button( |
- [[NewTabButton alloc] initWithFrame:button_frame]); |
- [tab_strip addSubview:new_tab_button.get()]; |
- [tab_strip setNewTabButton:new_tab_button.get()]; |
- |
- delegate_.reset(new TestTabStripDelegate()); |
- model_ = browser->tabstrip_model(); |
- controller_delegate_.reset([TestTabStripControllerDelegate alloc]); |
- controller_.reset([[TabStripController alloc] |
- initWithView:static_cast<TabStripView*>(tab_strip.get()) |
- switchView:switch_view.get() |
- browser:browser |
- delegate:controller_delegate_.get()]); |
- } |
- |
- virtual void TearDown() { |
- browser_helper_.CloseBrowserWindow(); |
- // The call to CocoaTest::TearDown() deletes the Browser and TabStripModel |
- // objects, so we first have to delete the controller, which refers to them. |
- controller_.reset(nil); |
- model_ = NULL; |
- CocoaTest::TearDown(); |
- } |
- |
- BrowserTestHelper browser_helper_; |
- scoped_ptr<TestTabStripDelegate> delegate_; |
- TabStripModel* model_; |
- scoped_nsobject<TestTabStripControllerDelegate> controller_delegate_; |
- scoped_nsobject<TabStripController> controller_; |
-}; |
- |
-// Test adding and removing tabs and making sure that views get added to |
-// the tab strip. |
-TEST_F(TabStripControllerTest, AddRemoveTabs) { |
- EXPECT_TRUE(model_->empty()); |
- SiteInstance* instance = |
- SiteInstance::CreateSiteInstance(browser_helper_.profile()); |
- TabContentsWrapper* tab_contents = |
- Browser::TabContentsFactory(browser_helper_.profile(), instance, |
- MSG_ROUTING_NONE, NULL, NULL); |
- model_->AppendTabContents(tab_contents, true); |
- EXPECT_EQ(model_->count(), 1); |
-} |
- |
-TEST_F(TabStripControllerTest, SelectTab) { |
- // TODO(pinkerton): Implement http://crbug.com/10899 |
-} |
- |
-TEST_F(TabStripControllerTest, RearrangeTabs) { |
- // TODO(pinkerton): Implement http://crbug.com/10899 |
-} |
- |
-// Test that changing the number of tabs broadcasts a |
-// kTabStripNumberOfTabsChanged notifiction. |
-TEST_F(TabStripControllerTest, Notifications) { |
- // TODO(pinkerton): Implement http://crbug.com/10899 |
-} |
- |
-} // namespace |