| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import <Cocoa/Cocoa.h> | 5 #import <Cocoa/Cocoa.h> |
| 6 | 6 |
| 7 #import "chrome/browser/browser_window.h" | 7 #import "chrome/browser/browser_window.h" |
| 8 #include "chrome/browser/cocoa/browser_test_helper.h" | 8 #include "chrome/browser/cocoa/browser_test_helper.h" |
| 9 #import "chrome/browser/cocoa/cocoa_test_helper.h" | 9 #import "chrome/browser/cocoa/cocoa_test_helper.h" |
| 10 #import "chrome/browser/cocoa/new_tab_button.h" | 10 #import "chrome/browser/cocoa/new_tab_button.h" |
| 11 #import "chrome/browser/cocoa/tab_strip_controller.h" | 11 #import "chrome/browser/cocoa/tab_strip_controller.h" |
| 12 #import "chrome/browser/cocoa/tab_strip_view.h" | 12 #import "chrome/browser/cocoa/tab_strip_view.h" |
| 13 #include "chrome/browser/tab_contents/tab_contents.h" | 13 #include "chrome/browser/tab_contents/tab_contents.h" |
| 14 #include "chrome/browser/tab_contents_wrapper.h" |
| 14 #include "chrome/browser/renderer_host/site_instance.h" | 15 #include "chrome/browser/renderer_host/site_instance.h" |
| 15 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
| 16 #include "testing/platform_test.h" | 17 #include "testing/platform_test.h" |
| 17 | 18 |
| 18 @interface TestTabStripControllerDelegate : | 19 @interface TestTabStripControllerDelegate : |
| 19 NSObject<TabStripControllerDelegate> { | 20 NSObject<TabStripControllerDelegate> { |
| 20 } | 21 } |
| 21 @end | 22 @end |
| 22 | 23 |
| 23 @implementation TestTabStripControllerDelegate | 24 @implementation TestTabStripControllerDelegate |
| 24 - (void)onSelectTabWithContents:(TabContents*)contents { | 25 - (void)onSelectTabWithContents:(TabContents*)contents { |
| 25 } | 26 } |
| 26 - (void)onReplaceTabWithContents:(TabContents*)contents { | 27 - (void)onReplaceTabWithContents:(TabContents*)contents { |
| 27 } | 28 } |
| 28 - (void)onSelectedTabChange:(TabStripModelObserver::TabChangeType)change { | 29 - (void)onSelectedTabChange:(TabStripModelObserver::TabChangeType)change { |
| 29 } | 30 } |
| 30 - (void)onTabDetachedWithContents:(TabContents*)contents { | 31 - (void)onTabDetachedWithContents:(TabContents*)contents { |
| 31 } | 32 } |
| 32 @end | 33 @end |
| 33 | 34 |
| 34 namespace { | 35 namespace { |
| 35 | 36 |
| 36 // Stub model delegate | 37 // Stub model delegate |
| 37 class TestTabStripDelegate : public TabStripModelDelegate { | 38 class TestTabStripDelegate : public TabStripModelDelegate { |
| 38 public: | 39 public: |
| 39 virtual TabContents* AddBlankTab(bool foreground) { | 40 virtual TabContentsWrapper* AddBlankTab(bool foreground) { |
| 40 return NULL; | 41 return NULL; |
| 41 } | 42 } |
| 42 virtual TabContents* AddBlankTabAt(int index, bool foreground) { | 43 virtual TabContentsWrapper* AddBlankTabAt(int index, bool foreground) { |
| 43 return NULL; | 44 return NULL; |
| 44 } | 45 } |
| 45 virtual Browser* CreateNewStripWithContents(TabContents* contents, | 46 virtual Browser* CreateNewStripWithContents(TabContentsWrapper* contents, |
| 46 const gfx::Rect& window_bounds, | 47 const gfx::Rect& window_bounds, |
| 47 const DockInfo& dock_info, | 48 const DockInfo& dock_info, |
| 48 bool maximize) { | 49 bool maximize) { |
| 49 return NULL; | 50 return NULL; |
| 50 } | 51 } |
| 51 virtual void ContinueDraggingDetachedTab(TabContents* contents, | 52 virtual void ContinueDraggingDetachedTab(TabContentsWrapper* contents, |
| 52 const gfx::Rect& window_bounds, | 53 const gfx::Rect& window_bounds, |
| 53 const gfx::Rect& tab_bounds) { | 54 const gfx::Rect& tab_bounds) { |
| 54 } | 55 } |
| 55 virtual int GetDragActions() const { | 56 virtual int GetDragActions() const { |
| 56 return 0; | 57 return 0; |
| 57 } | 58 } |
| 58 virtual TabContents* CreateTabContentsForURL( | 59 virtual TabContentsWrapper* CreateTabContentsForURL( |
| 59 const GURL& url, | 60 const GURL& url, |
| 60 const GURL& referrer, | 61 const GURL& referrer, |
| 61 Profile* profile, | 62 Profile* profile, |
| 62 PageTransition::Type transition, | 63 PageTransition::Type transition, |
| 63 bool defer_load, | 64 bool defer_load, |
| 64 SiteInstance* instance) const { | 65 SiteInstance* instance) const { |
| 65 return NULL; | 66 return NULL; |
| 66 } | 67 } |
| 67 virtual bool CanDuplicateContentsAt(int index) { return true; } | 68 virtual bool CanDuplicateContentsAt(int index) { return true; } |
| 68 virtual void DuplicateContentsAt(int index) { } | 69 virtual void DuplicateContentsAt(int index) { } |
| 69 virtual void CloseFrameAfterDragSession() { } | 70 virtual void CloseFrameAfterDragSession() { } |
| 70 virtual void CreateHistoricalTab(TabContents* contents) { } | 71 virtual void CreateHistoricalTab(TabContentsWrapper* contents) { } |
| 71 virtual bool RunUnloadListenerBeforeClosing(TabContents* contents) { | 72 virtual bool RunUnloadListenerBeforeClosing(TabContentsWrapper* contents) { |
| 72 return true; | 73 return true; |
| 73 } | 74 } |
| 74 virtual bool CanRestoreTab() { | 75 virtual bool CanRestoreTab() { |
| 75 return true; | 76 return true; |
| 76 } | 77 } |
| 77 virtual void RestoreTab() {} | 78 virtual void RestoreTab() {} |
| 78 | 79 |
| 79 virtual bool CanCloseContentsAt(int index) { return true; } | 80 virtual bool CanCloseContentsAt(int index) { return true; } |
| 80 | 81 |
| 81 virtual bool CanBookmarkAllTabs() const { return false; } | 82 virtual bool CanBookmarkAllTabs() const { return false; } |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 scoped_nsobject<TestTabStripControllerDelegate> controller_delegate_; | 146 scoped_nsobject<TestTabStripControllerDelegate> controller_delegate_; |
| 146 scoped_nsobject<TabStripController> controller_; | 147 scoped_nsobject<TabStripController> controller_; |
| 147 }; | 148 }; |
| 148 | 149 |
| 149 // Test adding and removing tabs and making sure that views get added to | 150 // Test adding and removing tabs and making sure that views get added to |
| 150 // the tab strip. | 151 // the tab strip. |
| 151 TEST_F(TabStripControllerTest, AddRemoveTabs) { | 152 TEST_F(TabStripControllerTest, AddRemoveTabs) { |
| 152 EXPECT_TRUE(model_->empty()); | 153 EXPECT_TRUE(model_->empty()); |
| 153 SiteInstance* instance = | 154 SiteInstance* instance = |
| 154 SiteInstance::CreateSiteInstance(browser_helper_.profile()); | 155 SiteInstance::CreateSiteInstance(browser_helper_.profile()); |
| 155 TabContents* tab_contents = | 156 TabContentsWrapper* tab_contents = |
| 156 new TabContents(browser_helper_.profile(), instance, MSG_ROUTING_NONE, | 157 Browser::TabContentsFactory(browser_helper_.profile(), instance, |
| 157 NULL, NULL); | 158 MSG_ROUTING_NONE, NULL, NULL); |
| 158 model_->AppendTabContents(tab_contents, true); | 159 model_->AppendTabContents(tab_contents, true); |
| 159 EXPECT_EQ(model_->count(), 1); | 160 EXPECT_EQ(model_->count(), 1); |
| 160 } | 161 } |
| 161 | 162 |
| 162 TEST_F(TabStripControllerTest, SelectTab) { | 163 TEST_F(TabStripControllerTest, SelectTab) { |
| 163 // TODO(pinkerton): Implement http://crbug.com/10899 | 164 // TODO(pinkerton): Implement http://crbug.com/10899 |
| 164 } | 165 } |
| 165 | 166 |
| 166 TEST_F(TabStripControllerTest, RearrangeTabs) { | 167 TEST_F(TabStripControllerTest, RearrangeTabs) { |
| 167 // TODO(pinkerton): Implement http://crbug.com/10899 | 168 // TODO(pinkerton): Implement http://crbug.com/10899 |
| 168 } | 169 } |
| 169 | 170 |
| 170 // Test that changing the number of tabs broadcasts a | 171 // Test that changing the number of tabs broadcasts a |
| 171 // kTabStripNumberOfTabsChanged notifiction. | 172 // kTabStripNumberOfTabsChanged notifiction. |
| 172 TEST_F(TabStripControllerTest, Notifications) { | 173 TEST_F(TabStripControllerTest, Notifications) { |
| 173 // TODO(pinkerton): Implement http://crbug.com/10899 | 174 // TODO(pinkerton): Implement http://crbug.com/10899 |
| 174 } | 175 } |
| 175 | 176 |
| 176 } // namespace | 177 } // namespace |
| OLD | NEW |