OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "base/memory/scoped_nsobject.h" | 5 #include "base/memory/scoped_nsobject.h" |
6 #include "base/string16.h" | 6 #include "base/string16.h" |
7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
8 #include "chrome/browser/bookmarks/bookmark_model.h" | 8 #include "chrome/browser/bookmarks/bookmark_model.h" |
| 9 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
9 #include "chrome/browser/profiles/profile.h" | 10 #include "chrome/browser/profiles/profile.h" |
10 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.h" | 11 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.h" |
11 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_view.h" | 12 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_view.h" |
12 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_button.h" | 13 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_button.h" |
13 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_folder_target.h" | 14 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_folder_target.h" |
14 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h" | 15 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h" |
15 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" | 16 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" |
16 #import "chrome/browser/ui/cocoa/url_drop_target.h" | 17 #import "chrome/browser/ui/cocoa/url_drop_target.h" |
17 #include "testing/gtest/include/gtest/gtest.h" | 18 #include "testing/gtest/include/gtest/gtest.h" |
18 #include "testing/platform_test.h" | 19 #include "testing/platform_test.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 const CGFloat kFakeIndicatorPos = 7.0; | 53 const CGFloat kFakeIndicatorPos = 7.0; |
53 const NSPoint kPoint = {10, 10}; | 54 const NSPoint kPoint = {10, 10}; |
54 | 55 |
55 class BookmarkBarFolderViewTest : public CocoaProfileTest { | 56 class BookmarkBarFolderViewTest : public CocoaProfileTest { |
56 public: | 57 public: |
57 virtual void SetUp() { | 58 virtual void SetUp() { |
58 CocoaProfileTest::SetUp(); | 59 CocoaProfileTest::SetUp(); |
59 | 60 |
60 view_.reset([[BookmarkBarFolderView alloc] init]); | 61 view_.reset([[BookmarkBarFolderView alloc] init]); |
61 | 62 |
62 mock_controller_.reset(GetMockController(YES, | 63 mock_controller_.reset(GetMockController( |
63 profile()->GetBookmarkModel())); | 64 YES, BookmarkModelFactory::GetForProfile(profile()))); |
64 | 65 |
65 mock_button_.reset(GetMockButton(mock_controller_.get())); | 66 mock_button_.reset(GetMockButton(mock_controller_.get())); |
66 [view_ awakeFromNib]; | 67 [view_ awakeFromNib]; |
67 [view_ setController:mock_controller_]; | 68 [view_ setController:mock_controller_]; |
68 } | 69 } |
69 | 70 |
70 virtual void TearDown() { | 71 virtual void TearDown() { |
71 [mock_controller_ verify]; | 72 [mock_controller_ verify]; |
72 CocoaProfileTest::TearDown(); | 73 CocoaProfileTest::TearDown(); |
73 } | 74 } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 draggingAllowed:OCMOCK_ANY]; | 112 draggingAllowed:OCMOCK_ANY]; |
112 [[[mock_controller stub] andReturnBool:show_indicator] | 113 [[[mock_controller stub] andReturnBool:show_indicator] |
113 shouldShowIndicatorShownForPoint:kPoint]; | 114 shouldShowIndicatorShownForPoint:kPoint]; |
114 [[[mock_controller stub] andReturnFloat:kFakeIndicatorPos] | 115 [[[mock_controller stub] andReturnFloat:kFakeIndicatorPos] |
115 indicatorPosForDragToPoint:kPoint]; | 116 indicatorPosForDragToPoint:kPoint]; |
116 [[[mock_controller stub] andReturnValue:OCMOCK_VALUE(model)] bookmarkModel]; | 117 [[[mock_controller stub] andReturnValue:OCMOCK_VALUE(model)] bookmarkModel]; |
117 return [mock_controller retain]; | 118 return [mock_controller retain]; |
118 } | 119 } |
119 | 120 |
120 id GetMockButton(id mock_controller) { | 121 id GetMockButton(id mock_controller) { |
121 BookmarkModel* bookmark_model = profile()->GetBookmarkModel(); | 122 BookmarkModel* bookmark_model = |
| 123 BookmarkModelFactory::GetForProfile(profile()); |
122 const BookmarkNode* node = | 124 const BookmarkNode* node = |
123 bookmark_model->AddURL(bookmark_model->bookmark_bar_node(), | 125 bookmark_model->AddURL(bookmark_model->bookmark_bar_node(), |
124 0, | 126 0, |
125 ASCIIToUTF16("Test Bookmark"), | 127 ASCIIToUTF16("Test Bookmark"), |
126 GURL("http://www.exmaple.com")); | 128 GURL("http://www.exmaple.com")); |
127 | 129 |
128 id mock_button = [OCMockObject mockForClass:[BookmarkButton class]]; | 130 id mock_button = [OCMockObject mockForClass:[BookmarkButton class]]; |
129 [[[mock_button stub] andReturnValue:OCMOCK_VALUE(node)] bookmarkNode]; | 131 [[[mock_button stub] andReturnValue:OCMOCK_VALUE(node)] bookmarkNode]; |
130 return [mock_button retain]; | 132 return [mock_button retain]; |
131 } | 133 } |
(...skipping 17 matching lines...) Expand all Loading... |
149 } | 151 } |
150 | 152 |
151 // When dragging bookmarks across profiles, we should always copy, never move. | 153 // When dragging bookmarks across profiles, we should always copy, never move. |
152 TEST_F(BookmarkBarFolderViewTest, BookmarkButtonDragAndDropAcrossProfiles) { | 154 TEST_F(BookmarkBarFolderViewTest, BookmarkButtonDragAndDropAcrossProfiles) { |
153 // |other_profile| is owned by the |testing_profile_manager|. | 155 // |other_profile| is owned by the |testing_profile_manager|. |
154 TestingProfile* other_profile = | 156 TestingProfile* other_profile = |
155 testing_profile_manager()->CreateTestingProfile("other"); | 157 testing_profile_manager()->CreateTestingProfile("other"); |
156 other_profile->CreateBookmarkModel(true); | 158 other_profile->CreateBookmarkModel(true); |
157 other_profile->BlockUntilBookmarkModelLoaded(); | 159 other_profile->BlockUntilBookmarkModelLoaded(); |
158 | 160 |
159 mock_controller_.reset(GetMockController(YES, | 161 mock_controller_.reset(GetMockController( |
160 other_profile->GetBookmarkModel())); | 162 YES, BookmarkModelFactory::GetForProfile(other_profile))); |
161 [view_ setController:mock_controller_]; | 163 [view_ setController:mock_controller_]; |
162 | 164 |
163 id drag_info = GetFakeDragInfoForType(kBookmarkButtonDragType); | 165 id drag_info = GetFakeDragInfoForType(kBookmarkButtonDragType); |
164 [[[mock_controller_ expect] andReturnUnsignedInteger:NSDragOperationNone] | 166 [[[mock_controller_ expect] andReturnUnsignedInteger:NSDragOperationNone] |
165 draggingEntered:drag_info]; | 167 draggingEntered:drag_info]; |
166 [[[mock_controller_ expect] andReturnBool:NO] dragBookmarkData:drag_info]; | 168 [[[mock_controller_ expect] andReturnBool:NO] dragBookmarkData:drag_info]; |
167 [[[mock_controller_ expect] andReturnBool:YES] dragButton:OCMOCK_ANY | 169 [[[mock_controller_ expect] andReturnBool:YES] dragButton:OCMOCK_ANY |
168 to:kPoint | 170 to:kPoint |
169 copy:YES]; | 171 copy:YES]; |
170 | 172 |
(...skipping 18 matching lines...) Expand all Loading... |
189 } | 191 } |
190 | 192 |
191 TEST_F(BookmarkBarFolderViewTest, BookmarkButtonDropIndicator) { | 193 TEST_F(BookmarkBarFolderViewTest, BookmarkButtonDropIndicator) { |
192 id drag_info = GetFakeDragInfoForType(kBookmarkButtonDragType); | 194 id drag_info = GetFakeDragInfoForType(kBookmarkButtonDragType); |
193 [[[mock_controller_ expect] andReturnUnsignedInteger:NSDragOperationNone] | 195 [[[mock_controller_ expect] andReturnUnsignedInteger:NSDragOperationNone] |
194 draggingEntered:drag_info]; | 196 draggingEntered:drag_info]; |
195 EXPECT_EQ([view_ draggingEntered:drag_info], NSDragOperationMove); | 197 EXPECT_EQ([view_ draggingEntered:drag_info], NSDragOperationMove); |
196 [mock_controller_ verify]; | 198 [mock_controller_ verify]; |
197 EXPECT_TRUE([view_ dropIndicatorShown]); | 199 EXPECT_TRUE([view_ dropIndicatorShown]); |
198 EXPECT_EQ([view_ dropIndicatorPosition], kFakeIndicatorPos); | 200 EXPECT_EQ([view_ dropIndicatorPosition], kFakeIndicatorPos); |
199 mock_controller_.reset(GetMockController(NO, profile()->GetBookmarkModel())); | 201 mock_controller_.reset(GetMockController( |
| 202 NO, BookmarkModelFactory::GetForProfile(profile()))); |
200 [view_ setController:mock_controller_]; | 203 [view_ setController:mock_controller_]; |
201 [[[mock_controller_ expect] andReturnUnsignedInteger:NSDragOperationNone] | 204 [[[mock_controller_ expect] andReturnUnsignedInteger:NSDragOperationNone] |
202 draggingEntered:drag_info]; | 205 draggingEntered:drag_info]; |
203 EXPECT_EQ([view_ draggingEntered:drag_info], NSDragOperationMove); | 206 EXPECT_EQ([view_ draggingEntered:drag_info], NSDragOperationMove); |
204 EXPECT_FALSE([view_ dropIndicatorShown]); | 207 EXPECT_FALSE([view_ dropIndicatorShown]); |
205 } | 208 } |
206 | 209 |
207 } // namespace | 210 } // namespace |
OLD | NEW |