summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/bookmark_bar_controller_unittest.mm
diff options
context:
space:
mode:
authorjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-22 16:49:10 +0000
committerjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-22 16:49:10 +0000
commit9cd6def3b735220b4dd0d00ec5c8633a2dfa8acd (patch)
treed4dc784bc5a7d0d4662806e940ebb33ff2fc0abc /chrome/browser/cocoa/bookmark_bar_controller_unittest.mm
parent80a9966966b76bba436398ca529f9e4d509d5aab (diff)
downloadchromium_src-9cd6def3b735220b4dd0d00ec5c8633a2dfa8acd.zip
chromium_src-9cd6def3b735220b4dd0d00ec5c8633a2dfa8acd.tar.gz
chromium_src-9cd6def3b735220b4dd0d00ec5c8633a2dfa8acd.tar.bz2
Command-click on a bookmark folder button will now open all in
background tabs. BUG=34288 TEST=\ 1) Make sure normal clicking will open bookmarks, bookmark folders. 2) Make sure right-click opens context menus on folders 3) command-click a folder --> opens all the marks in that folder in background tabs Review URL: http://codereview.chromium.org/1115004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42225 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/bookmark_bar_controller_unittest.mm')
-rw-r--r--chrome/browser/cocoa/bookmark_bar_controller_unittest.mm35
1 files changed, 35 insertions, 0 deletions
diff --git a/chrome/browser/cocoa/bookmark_bar_controller_unittest.mm b/chrome/browser/cocoa/bookmark_bar_controller_unittest.mm
index b34d9ad..7b7ac17 100644
--- a/chrome/browser/cocoa/bookmark_bar_controller_unittest.mm
+++ b/chrome/browser/cocoa/bookmark_bar_controller_unittest.mm
@@ -22,6 +22,7 @@
#include "chrome/common/pref_names.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/platform_test.h"
+#import "third_party/ocmock/OCMock/OCMock.h"
// Just like a BookmarkBarController but openURL: is stubbed out.
@interface BookmarkBarControllerNoOpen : BookmarkBarController {
@@ -783,6 +784,40 @@ TEST_F(BookmarkBarControllerTest, MiddleClick) {
EXPECT_EQ(bar_.get()->urls_.size(), 1U);
}
+// Command-click on a folder should open all the marks in it.
+TEST_F(BookmarkBarControllerTest, CommandClickOnFolder) {
+ BookmarkModel* model = helper_.profile()->GetBookmarkModel();
+ const BookmarkNode* parent = model->GetBookmarkBarNode();
+ const BookmarkNode* folder = model->AddGroup(parent,
+ parent->GetChildCount(),
+ L"group");
+ model->AddURL(folder, folder->GetChildCount(),
+ L"f1", GURL("http://framma-lamma.com"));
+ model->AddURL(folder, folder->GetChildCount(),
+ L"f2", GURL("http://framma-lamma-ding-dong.com"));
+
+ ASSERT_EQ(1U, [[bar_ buttons] count]);
+ NSButton* first = [[bar_ buttons] objectAtIndex:0];
+ EXPECT_TRUE(first);
+
+ // Create the right kind of event; mock NSApp so [NSApp
+ // currentEvent] finds it.
+ NSEvent* commandClick = test_event_utils::MouseEventAtPoint(NSZeroPoint,
+ NSLeftMouseDown,
+ NSCommandKeyMask);
+ id fakeApp = [OCMockObject partialMockForObject:NSApp];
+ [[[fakeApp stub] andReturn:commandClick] currentEvent];
+ id oldApp = NSApp;
+ NSApp = fakeApp;
+
+ // Click!
+ [first performClick:first];
+ EXPECT_EQ(2U, bar_.get()->urls_.size());
+
+ // Replace NSApp
+ NSApp = oldApp;
+}
+
TEST_F(BookmarkBarControllerTest, TestBuildOffTheSideMenu) {
BookmarkModel* model = helper_.profile()->GetBookmarkModel();
NSMenu* menu = [bar_ offTheSideMenu];