Index: chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller_unittest.mm |
diff --git a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller_unittest.mm b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller_unittest.mm |
index c96fe37d757d385e0ad236bc8142078a02d0e3ec..e500c0c52e5e059a3ecdfdc3c8478ff3d8620bdf 100644 |
--- a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller_unittest.mm |
+++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller_unittest.mm |
@@ -25,6 +25,8 @@ |
#import "chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.h" |
#include "chrome/browser/ui/cocoa/cocoa_profile_test.h" |
#import "chrome/browser/ui/cocoa/view_resizer_pong.h" |
+#include "chrome/common/chrome_switches.h" |
+#include "chrome/common/pref_names.h" |
#include "chrome/test/base/model_test_utils.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#import "testing/gtest_mac.h" |
@@ -339,6 +341,7 @@ class BookmarkBarControllerTest : public BookmarkBarControllerTestBase { |
virtual void SetUp() { |
BookmarkBarControllerTestBase::SetUp(); |
ASSERT_TRUE(browser()); |
+ AddCommandLineSwitches(); |
bar_.reset( |
[[BookmarkBarControllerNoOpen alloc] |
@@ -350,6 +353,8 @@ class BookmarkBarControllerTest : public BookmarkBarControllerTestBase { |
InstallAndToggleBar(bar_.get()); |
} |
+ virtual void AddCommandLineSwitches() {} |
+ |
BookmarkBarControllerNoOpen* noOpenBar() { |
return (BookmarkBarControllerNoOpen*)bar_.get(); |
} |
@@ -1542,6 +1547,66 @@ TEST_F(BookmarkBarControllerTest, LastBookmarkResizeBehavior) { |
} |
} |
+class BookmarkBarControllerWithInstantExtendedTest : |
+ public BookmarkBarControllerTest { |
+ public: |
+ virtual void AddCommandLineSwitches() { |
Alexei Svitkine (slow)
2013/04/16 16:29:13
Nit: OVERRIDE
beaudoin
2013/04/16 20:49:56
Done.
|
+ CommandLine::ForCurrentProcess()->AppendSwitch( |
+ switches::kEnableInstantExtendedAPI); |
+ } |
+}; |
+ |
+TEST_F(BookmarkBarControllerWithInstantExtendedTest, |
+ BookmarksWithAppsPageShortcut) { |
+ BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
+ const BookmarkNode* root = model->bookmark_bar_node(); |
+ const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b "); |
+ model_test_utils::AddNodesFromModelString(model, root, model_string); |
+ [bar_ frameDidChange]; |
+ |
+ // Apps page shortcut button should be visible. |
+ ASSERT_FALSE([bar_ appsPageShortcutButtonIsHidden]); |
+ |
+ // Bookmarks should be to the right of the Apps page shortcut button. |
+ CGFloat apps_button_right = NSMaxX([[bar_ appsPageShortcutButton] frame]); |
+ CGFloat right = apps_button_right; |
+ NSArray* buttons = [bar_ buttons]; |
+ for (size_t i = 0; i < [buttons count]; ++i) { |
+ EXPECT_LE(right, NSMinX([[buttons objectAtIndex:i] frame])); |
+ right = NSMaxX([[buttons objectAtIndex:i] frame]); |
+ } |
+ |
+ // Removing the Apps button should move every bookmark to the left. |
+ profile()->GetPrefs()->SetBoolean(prefs::kShowAppsShortcutInBookmarkBar, |
+ false); |
+ ASSERT_TRUE([bar_ appsPageShortcutButtonIsHidden]); |
+ EXPECT_GT(apps_button_right, NSMinX([[buttons objectAtIndex:0] frame])); |
+ for (size_t i = 1; i < [buttons count]; ++i) { |
+ EXPECT_LE(NSMaxX([[buttons objectAtIndex:i - 1] frame]), |
+ NSMinX([[buttons objectAtIndex:i] frame])); |
+ } |
+} |
+ |
+TEST_F(BookmarkBarControllerWithInstantExtendedTest, |
+ BookmarksWithoutAppsPageShortcut) { |
+ // The no item containers should be to the right of the Apps button. |
+ ASSERT_FALSE([bar_ appsPageShortcutButtonIsHidden]); |
+ CGFloat apps_button_right = NSMaxX([[bar_ appsPageShortcutButton] frame]); |
+ EXPECT_LE(apps_button_right, |
+ NSMinX([[[bar_ buttonView] noItemTextfield] frame])); |
+ EXPECT_LE(NSMaxX([[[bar_ buttonView] noItemTextfield] frame]), |
+ NSMinX([[[bar_ buttonView] importBookmarksButton] frame])); |
+ |
+ // Removing the Apps button should move the no item containers to the left. |
+ profile()->GetPrefs()->SetBoolean(prefs::kShowAppsShortcutInBookmarkBar, |
+ false); |
+ ASSERT_TRUE([bar_ appsPageShortcutButtonIsHidden]); |
+ EXPECT_GT(apps_button_right, |
+ NSMinX([[[bar_ buttonView] noItemTextfield] frame])); |
+ EXPECT_LE(NSMaxX([[[bar_ buttonView] noItemTextfield] frame]), |
+ NSMinX([[[bar_ buttonView] importBookmarksButton] frame])); |
+} |
+ |
class BookmarkBarControllerOpenAllTest : public BookmarkBarControllerTest { |
public: |
virtual void SetUp() { |