Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(790)

Side by Side Diff: chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller_unittest.mm

Issue 10834161: Removing instances of profile_->GetBookmarkModel() as part of converting BookmarkModel to a PKS. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/memory/scoped_nsobject.h" 8 #include "base/memory/scoped_nsobject.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "chrome/browser/bookmarks/bookmark_model.h" 10 #include "chrome/browser/bookmarks/bookmark_model.h"
11 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
11 #import "chrome/browser/ui/cocoa/animation_utils.h" 12 #import "chrome/browser/ui/cocoa/animation_utils.h"
12 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_constants.h" 13 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_constants.h"
13 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h" 14 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h"
14 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_button_cell.h" 15 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_button_cell.h"
15 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.h" 16 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.h"
16 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_unittest_helper.h" 17 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_unittest_helper.h"
17 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h" 18 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h"
18 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" 19 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
19 #import "chrome/browser/ui/cocoa/view_resizer_pong.h" 20 #import "chrome/browser/ui/cocoa/view_resizer_pong.h"
20 #include "chrome/test/base/model_test_utils.h" 21 #include "chrome/test/base/model_test_utils.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 const BookmarkNode* longTitleNode_; // Owned by model. 128 const BookmarkNode* longTitleNode_; // Owned by model.
128 129
129 virtual void SetUp() { 130 virtual void SetUp() {
130 CocoaProfileTest::SetUp(); 131 CocoaProfileTest::SetUp();
131 ASSERT_TRUE(profile()); 132 ASSERT_TRUE(profile());
132 133
133 CreateModel(); 134 CreateModel();
134 } 135 }
135 136
136 void CreateModel() { 137 void CreateModel() {
137 BookmarkModel* model = profile()->GetBookmarkModel(); 138 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
138 const BookmarkNode* parent = model->bookmark_bar_node(); 139 const BookmarkNode* parent = model->bookmark_bar_node();
139 const BookmarkNode* folderA = model->AddFolder(parent, 140 const BookmarkNode* folderA = model->AddFolder(parent,
140 parent->child_count(), 141 parent->child_count(),
141 ASCIIToUTF16("folder")); 142 ASCIIToUTF16("folder"));
142 folderA_ = folderA; 143 folderA_ = folderA;
143 model->AddFolder(parent, parent->child_count(), 144 model->AddFolder(parent, parent->child_count(),
144 ASCIIToUTF16("sibbling folder")); 145 ASCIIToUTF16("sibbling folder"));
145 const BookmarkNode* folderB = model->AddFolder(folderA, 146 const BookmarkNode* folderB = model->AddFolder(folderA,
146 folderA->child_count(), 147 folderA->child_count(),
147 ASCIIToUTF16("subfolder 1")); 148 ASCIIToUTF16("subfolder 1"));
(...skipping 23 matching lines...) Expand all
171 frame.size.width, bookmarks::kNTPBookmarkBarHeight); 172 frame.size.width, bookmarks::kNTPBookmarkBarHeight);
172 NSView* fakeToolbarView = [[[NSView alloc] initWithFrame:frame] 173 NSView* fakeToolbarView = [[[NSView alloc] initWithFrame:frame]
173 autorelease]; 174 autorelease];
174 [[test_window() contentView] addSubview:fakeToolbarView]; 175 [[test_window() contentView] addSubview:fakeToolbarView];
175 [fakeToolbarView addSubview:[bar_ view]]; 176 [fakeToolbarView addSubview:[bar_ view]];
176 [bar_ setBookmarkBarEnabled:YES]; 177 [bar_ setBookmarkBarEnabled:YES];
177 } 178 }
178 179
179 // Remove the bookmark with the long title. 180 // Remove the bookmark with the long title.
180 void RemoveLongTitleNode() { 181 void RemoveLongTitleNode() {
181 BookmarkModel* model = profile()->GetBookmarkModel(); 182 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
182 model->Remove(longTitleNode_->parent(), 183 model->Remove(longTitleNode_->parent(),
183 longTitleNode_->parent()->GetIndexOf(longTitleNode_)); 184 longTitleNode_->parent()->GetIndexOf(longTitleNode_));
184 } 185 }
185 186
186 // Add LOTS of nodes to our model if needed (e.g. scrolling). 187 // Add LOTS of nodes to our model if needed (e.g. scrolling).
187 // Returns the number of nodes added. 188 // Returns the number of nodes added.
188 int AddLotsOfNodes() { 189 int AddLotsOfNodes() {
189 BookmarkModel* model = profile()->GetBookmarkModel(); 190 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
190 for (int i = 0; i < kLotsOfNodesCount; i++) { 191 for (int i = 0; i < kLotsOfNodesCount; i++) {
191 model->AddURL(folderA_, folderA_->child_count(), 192 model->AddURL(folderA_, folderA_->child_count(),
192 ASCIIToUTF16("repeated title"), 193 ASCIIToUTF16("repeated title"),
193 GURL("http://www.google.com/repeated/url")); 194 GURL("http://www.google.com/repeated/url"));
194 } 195 }
195 return kLotsOfNodesCount; 196 return kLotsOfNodesCount;
196 } 197 }
197 198
198 // Return a simple BookmarkBarFolderController. 199 // Return a simple BookmarkBarFolderController.
199 BookmarkBarFolderControllerPong* SimpleBookmarkBarFolderController() { 200 BookmarkBarFolderControllerPong* SimpleBookmarkBarFolderController() {
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 [bbfc2 window]; 289 [bbfc2 window];
289 pt = [bbfc2 windowTopLeftForWidth:0 height:100]; 290 pt = [bbfc2 windowTopLeftForWidth:0 height:100];
290 // We're now overlapping the window a bit. 291 // We're now overlapping the window a bit.
291 EXPECT_EQ(pt.x, NSMaxX([[bbfc.get() window] frame]) - 292 EXPECT_EQ(pt.x, NSMaxX([[bbfc.get() window] frame]) -
292 bookmarks::kBookmarkMenuOverlap); 293 bookmarks::kBookmarkMenuOverlap);
293 } 294 }
294 295
295 // Confirm we grow right until end of screen, then start growing left 296 // Confirm we grow right until end of screen, then start growing left
296 // until end of screen again, then right. 297 // until end of screen again, then right.
297 TEST_F(BookmarkBarFolderControllerTest, PositionRightLeftRight) { 298 TEST_F(BookmarkBarFolderControllerTest, PositionRightLeftRight) {
298 BookmarkModel* model = profile()->GetBookmarkModel(); 299 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile());
299 const BookmarkNode* parent = model->bookmark_bar_node(); 300 const BookmarkNode* parent = model->bookmark_bar_node();
300 const BookmarkNode* folder = parent; 301 const BookmarkNode* folder = parent;
301 302
302 const int count = 100; 303 const int count = 100;
303 int i; 304 int i;
304 // Make some super duper deeply nested folders. 305 // Make some super duper deeply nested folders.
305 for (i = 0; i < count; i++) { 306 for (i = 0; i < count; i++) {
306 folder = model->AddFolder(folder, 0, ASCIIToUTF16("nested folder")); 307 folder = model->AddFolder(folder, 0, ASCIIToUTF16("nested folder"));
307 } 308 }
308 309
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 689
689 // Make sure it's open so certain things aren't no-ops. 690 // Make sure it's open so certain things aren't no-ops.
690 [bar updateAndShowNormalBar:YES 691 [bar updateAndShowNormalBar:YES
691 showDetachedBar:NO 692 showDetachedBar:NO
692 withAnimation:NO]; 693 withAnimation:NO];
693 } 694 }
694 }; 695 };
695 696
696 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveBarBookmarkToFolder) { 697 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveBarBookmarkToFolder) {
697 WithNoAnimation at_all; 698 WithNoAnimation at_all;
698 BookmarkModel& model(*profile()->GetBookmarkModel()); 699 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
699 const BookmarkNode* root = model.bookmark_bar_node(); 700 const BookmarkNode* root = model.bookmark_bar_node();
700 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " 701 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b "
701 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " 702 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b "
702 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); 703 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b ");
703 model_test_utils::AddNodesFromModelString(model, root, model_string); 704 model_test_utils::AddNodesFromModelString(model, root, model_string);
704 705
705 // Validate initial model. 706 // Validate initial model.
706 std::string actualModelString = model_test_utils::ModelStringFromNode(root); 707 std::string actualModelString = model_test_utils::ModelStringFromNode(root);
707 EXPECT_EQ(model_string, actualModelString); 708 EXPECT_EQ(model_string, actualModelString);
708 709
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
761 targetButton = [bar_ buttonWithTitleEqualTo:@"2f"]; 762 targetButton = [bar_ buttonWithTitleEqualTo:@"2f"];
762 ASSERT_TRUE(targetButton); 763 ASSERT_TRUE(targetButton);
763 [bar_ dragButton:draggedButton 764 [bar_ dragButton:draggedButton
764 to:[targetButton left] 765 to:[targetButton left]
765 copy:NO]; 766 copy:NO];
766 EXPECT_EQ(model_string, model_test_utils::ModelStringFromNode(root)); 767 EXPECT_EQ(model_string, model_test_utils::ModelStringFromNode(root));
767 // Don't check the folder window since it's not supposed to be showing. 768 // Don't check the folder window since it's not supposed to be showing.
768 } 769 }
769 770
770 TEST_F(BookmarkBarFolderControllerMenuTest, DragCopyBarBookmarkToFolder) { 771 TEST_F(BookmarkBarFolderControllerMenuTest, DragCopyBarBookmarkToFolder) {
771 BookmarkModel& model(*profile()->GetBookmarkModel()); 772 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
772 const BookmarkNode* root = model.bookmark_bar_node(); 773 const BookmarkNode* root = model.bookmark_bar_node();
773 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " 774 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b "
774 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " 775 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b "
775 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); 776 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b ");
776 model_test_utils::AddNodesFromModelString(model, root, model_string); 777 model_test_utils::AddNodesFromModelString(model, root, model_string);
777 778
778 // Validate initial model. 779 // Validate initial model.
779 std::string actualModelString = model_test_utils::ModelStringFromNode(root); 780 std::string actualModelString = model_test_utils::ModelStringFromNode(root);
780 EXPECT_EQ(model_string, actualModelString); 781 EXPECT_EQ(model_string, actualModelString);
781 782
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 [bar_ dragButton:draggedButton 826 [bar_ dragButton:draggedButton
826 to:[targetButton left] 827 to:[targetButton left]
827 copy:YES]; 828 copy:YES];
828 const std::string expected_2("1b 2f:[ 2f1b 1b 2f2f:[ 2f2f1b " 829 const std::string expected_2("1b 2f:[ 2f1b 1b 2f2f:[ 2f2f1b "
829 "2f2f2b 2f2f3b ] 2f3b ] 3b 1b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ " 830 "2f2f2b 2f2f3b ] 2f3b ] 3b 1b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ "
830 "4f2f1b 4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); 831 "4f2f1b 4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b ");
831 EXPECT_EQ(expected_2, model_test_utils::ModelStringFromNode(root)); 832 EXPECT_EQ(expected_2, model_test_utils::ModelStringFromNode(root));
832 } 833 }
833 834
834 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveBarBookmarkToSubfolder) { 835 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveBarBookmarkToSubfolder) {
835 BookmarkModel& model(*profile()->GetBookmarkModel()); 836 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
836 const BookmarkNode* root = model.bookmark_bar_node(); 837 const BookmarkNode* root = model.bookmark_bar_node();
837 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " 838 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b "
838 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " 839 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b "
839 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); 840 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b ");
840 model_test_utils::AddNodesFromModelString(model, root, model_string); 841 model_test_utils::AddNodesFromModelString(model, root, model_string);
841 842
842 // Validate initial model. 843 // Validate initial model.
843 std::string actualModelString = model_test_utils::ModelStringFromNode(root); 844 std::string actualModelString = model_test_utils::ModelStringFromNode(root);
844 EXPECT_EQ(model_string, actualModelString); 845 EXPECT_EQ(model_string, actualModelString);
845 846
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
890 EXPECT_NSRECT_EQ(oldToWindowFrame, newToWindowFrame); 891 EXPECT_NSRECT_EQ(oldToWindowFrame, newToWindowFrame);
891 NSRect newToSubwindowFrame = [toSubwindow frame]; 892 NSRect newToSubwindowFrame = [toSubwindow frame];
892 NSRect expectedToSubwindowFrame = oldToSubwindowFrame; 893 NSRect expectedToSubwindowFrame = oldToSubwindowFrame;
893 expectedToSubwindowFrame.origin.y -= bookmarks::kBookmarkFolderButtonHeight; 894 expectedToSubwindowFrame.origin.y -= bookmarks::kBookmarkFolderButtonHeight;
894 expectedToSubwindowFrame.size.height += 895 expectedToSubwindowFrame.size.height +=
895 bookmarks::kBookmarkFolderButtonHeight; 896 bookmarks::kBookmarkFolderButtonHeight;
896 EXPECT_NSRECT_EQ(expectedToSubwindowFrame, newToSubwindowFrame); 897 EXPECT_NSRECT_EQ(expectedToSubwindowFrame, newToSubwindowFrame);
897 } 898 }
898 899
899 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveWithinFolder) { 900 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveWithinFolder) {
900 BookmarkModel& model(*profile()->GetBookmarkModel()); 901 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
901 const BookmarkNode* root = model.bookmark_bar_node(); 902 const BookmarkNode* root = model.bookmark_bar_node();
902 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " 903 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b "
903 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " 904 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b "
904 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); 905 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b ");
905 model_test_utils::AddNodesFromModelString(model, root, model_string); 906 model_test_utils::AddNodesFromModelString(model, root, model_string);
906 907
907 // Validate initial model. 908 // Validate initial model.
908 std::string actualModelString = model_test_utils::ModelStringFromNode(root); 909 std::string actualModelString = model_test_utils::ModelStringFromNode(root);
909 EXPECT_EQ(model_string, actualModelString); 910 EXPECT_EQ(model_string, actualModelString);
910 911
(...skipping 28 matching lines...) Expand all
939 940
940 // The folder window should not have changed. 941 // The folder window should not have changed.
941 NSRect newToWindowFrame = [toWindow frame]; 942 NSRect newToWindowFrame = [toWindow frame];
942 EXPECT_NSRECT_EQ(oldToWindowFrame, newToWindowFrame); 943 EXPECT_NSRECT_EQ(oldToWindowFrame, newToWindowFrame);
943 944
944 // Check button spacing. 945 // Check button spacing.
945 [folderController validateMenuSpacing]; 946 [folderController validateMenuSpacing];
946 } 947 }
947 948
948 TEST_F(BookmarkBarFolderControllerMenuTest, DragParentOntoChild) { 949 TEST_F(BookmarkBarFolderControllerMenuTest, DragParentOntoChild) {
949 BookmarkModel& model(*profile()->GetBookmarkModel()); 950 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
950 const BookmarkNode* root = model.bookmark_bar_node(); 951 const BookmarkNode* root = model.bookmark_bar_node();
951 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " 952 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b "
952 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " 953 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b "
953 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); 954 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b ");
954 model_test_utils::AddNodesFromModelString(model, root, model_string); 955 model_test_utils::AddNodesFromModelString(model, root, model_string);
955 956
956 // Validate initial model. 957 // Validate initial model.
957 std::string actualModelString = model_test_utils::ModelStringFromNode(root); 958 std::string actualModelString = model_test_utils::ModelStringFromNode(root);
958 EXPECT_EQ(model_string, actualModelString); 959 EXPECT_EQ(model_string, actualModelString);
959 960
(...skipping 16 matching lines...) Expand all
976 to:[targetButton top] 977 to:[targetButton top]
977 copy:NO]; 978 copy:NO];
978 // The model should not have changed. 979 // The model should not have changed.
979 EXPECT_EQ(model_string, model_test_utils::ModelStringFromNode(root)); 980 EXPECT_EQ(model_string, model_test_utils::ModelStringFromNode(root));
980 981
981 // Check button spacing. 982 // Check button spacing.
982 [folderController validateMenuSpacing]; 983 [folderController validateMenuSpacing];
983 } 984 }
984 985
985 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveChildToParent) { 986 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveChildToParent) {
986 BookmarkModel& model(*profile()->GetBookmarkModel()); 987 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
987 const BookmarkNode* root = model.bookmark_bar_node(); 988 const BookmarkNode* root = model.bookmark_bar_node();
988 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " 989 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b "
989 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " 990 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b "
990 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); 991 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b ");
991 model_test_utils::AddNodesFromModelString(model, root, model_string); 992 model_test_utils::AddNodesFromModelString(model, root, model_string);
992 993
993 // Validate initial model. 994 // Validate initial model.
994 std::string actualModelString = model_test_utils::ModelStringFromNode(root); 995 std::string actualModelString = model_test_utils::ModelStringFromNode(root);
995 EXPECT_EQ(model_string, actualModelString); 996 EXPECT_EQ(model_string, actualModelString);
996 997
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1028 1029
1029 // Check button spacing. 1030 // Check button spacing.
1030 [folderController validateMenuSpacing]; 1031 [folderController validateMenuSpacing];
1031 // The window should not have gone away. 1032 // The window should not have gone away.
1032 EXPECT_TRUE([bar_ folderController]); 1033 EXPECT_TRUE([bar_ folderController]);
1033 // The subfolder should have gone away. 1034 // The subfolder should have gone away.
1034 EXPECT_FALSE([folderController folderController]); 1035 EXPECT_FALSE([folderController folderController]);
1035 } 1036 }
1036 1037
1037 TEST_F(BookmarkBarFolderControllerMenuTest, DragWindowResizing) { 1038 TEST_F(BookmarkBarFolderControllerMenuTest, DragWindowResizing) {
1038 BookmarkModel& model(*profile()->GetBookmarkModel()); 1039 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
1039 const BookmarkNode* root = model.bookmark_bar_node(); 1040 const BookmarkNode* root = model.bookmark_bar_node();
1040 const std::string 1041 const std::string
1041 model_string("a b:[ b1 b2 b3 ] reallyReallyLongBookmarkName c "); 1042 model_string("a b:[ b1 b2 b3 ] reallyReallyLongBookmarkName c ");
1042 model_test_utils::AddNodesFromModelString(model, root, model_string); 1043 model_test_utils::AddNodesFromModelString(model, root, model_string);
1043 1044
1044 // Validate initial model. 1045 // Validate initial model.
1045 std::string actualModelString = model_test_utils::ModelStringFromNode(root); 1046 std::string actualModelString = model_test_utils::ModelStringFromNode(root);
1046 EXPECT_EQ(model_string, actualModelString); 1047 EXPECT_EQ(model_string, actualModelString);
1047 1048
1048 // Pop up a folder menu. 1049 // Pop up a folder menu.
(...skipping 19 matching lines...) Expand all
1068 // Verify the model change. 1069 // Verify the model change.
1069 const std::string 1070 const std::string
1070 expected_string("a b:[ b1 reallyReallyLongBookmarkName b2 b3 ] c "); 1071 expected_string("a b:[ b1 reallyReallyLongBookmarkName b2 b3 ] c ");
1071 EXPECT_EQ(expected_string, model_test_utils::ModelStringFromNode(root)); 1072 EXPECT_EQ(expected_string, model_test_utils::ModelStringFromNode(root));
1072 // Verify the window grew. Just test a reasonable width gain. 1073 // Verify the window grew. Just test a reasonable width gain.
1073 CGFloat newWidth = NSWidth([toWindow frame]); 1074 CGFloat newWidth = NSWidth([toWindow frame]);
1074 EXPECT_LT(oldWidth + 30.0, newWidth); 1075 EXPECT_LT(oldWidth + 30.0, newWidth);
1075 } 1076 }
1076 1077
1077 TEST_F(BookmarkBarFolderControllerMenuTest, MoveRemoveAddButtons) { 1078 TEST_F(BookmarkBarFolderControllerMenuTest, MoveRemoveAddButtons) {
1078 BookmarkModel& model(*profile()->GetBookmarkModel()); 1079 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
1079 const BookmarkNode* root = model.bookmark_bar_node(); 1080 const BookmarkNode* root = model.bookmark_bar_node();
1080 const std::string model_string("1b 2f:[ 2f1b 2f2b 2f3b ] 3b 4b "); 1081 const std::string model_string("1b 2f:[ 2f1b 2f2b 2f3b ] 3b 4b ");
1081 model_test_utils::AddNodesFromModelString(model, root, model_string); 1082 model_test_utils::AddNodesFromModelString(model, root, model_string);
1082 1083
1083 // Validate initial model. 1084 // Validate initial model.
1084 std::string actualModelString = model_test_utils::ModelStringFromNode(root); 1085 std::string actualModelString = model_test_utils::ModelStringFromNode(root);
1085 EXPECT_EQ(model_string, actualModelString); 1086 EXPECT_EQ(model_string, actualModelString);
1086 1087
1087 // Pop up a folder menu. 1088 // Pop up a folder menu.
1088 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"2f"]; 1089 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"2f"];
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1131 EXPECT_NSEQ(@"3b", [[buttons objectAtIndex:0] title]); 1132 EXPECT_NSEQ(@"3b", [[buttons objectAtIndex:0] title]);
1132 EXPECT_NSEQ(@"2f2b", [[buttons objectAtIndex:1] title]); 1133 EXPECT_NSEQ(@"2f2b", [[buttons objectAtIndex:1] title]);
1133 EXPECT_NSEQ(@"2f3b", [[buttons objectAtIndex:2] title]); 1134 EXPECT_NSEQ(@"2f3b", [[buttons objectAtIndex:2] title]);
1134 EXPECT_EQ(oldDisplayedButtons, [buttons count]); 1135 EXPECT_EQ(oldDisplayedButtons, [buttons count]);
1135 1136
1136 // Check button spacing. 1137 // Check button spacing.
1137 [folder validateMenuSpacing]; 1138 [folder validateMenuSpacing];
1138 } 1139 }
1139 1140
1140 TEST_F(BookmarkBarFolderControllerMenuTest, ControllerForNode) { 1141 TEST_F(BookmarkBarFolderControllerMenuTest, ControllerForNode) {
1141 BookmarkModel& model(*profile()->GetBookmarkModel()); 1142 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
1142 const BookmarkNode* root = model.bookmark_bar_node(); 1143 const BookmarkNode* root = model.bookmark_bar_node();
1143 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b "); 1144 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b ");
1144 model_test_utils::AddNodesFromModelString(model, root, model_string); 1145 model_test_utils::AddNodesFromModelString(model, root, model_string);
1145 1146
1146 // Validate initial model. 1147 // Validate initial model.
1147 std::string actualModelString = model_test_utils::ModelStringFromNode(root); 1148 std::string actualModelString = model_test_utils::ModelStringFromNode(root);
1148 EXPECT_EQ(model_string, actualModelString); 1149 EXPECT_EQ(model_string, actualModelString);
1149 1150
1150 // Find the main bar controller. 1151 // Find the main bar controller.
1151 const void* expectedController = bar_; 1152 const void* expectedController = bar_;
(...skipping 14 matching lines...) Expand all
1166 expectedController = folder; 1167 expectedController = folder;
1167 actualController = [bar_ controllerForNode:targetNode]; 1168 actualController = [bar_ controllerForNode:targetNode];
1168 EXPECT_EQ(expectedController, actualController); 1169 EXPECT_EQ(expectedController, actualController);
1169 1170
1170 // Find the folder controller from the bar. 1171 // Find the folder controller from the bar.
1171 actualController = [folder controllerForNode:targetNode]; 1172 actualController = [folder controllerForNode:targetNode];
1172 EXPECT_EQ(expectedController, actualController); 1173 EXPECT_EQ(expectedController, actualController);
1173 } 1174 }
1174 1175
1175 TEST_F(BookmarkBarFolderControllerMenuTest, MenuSizingAndScrollArrows) { 1176 TEST_F(BookmarkBarFolderControllerMenuTest, MenuSizingAndScrollArrows) {
1176 BookmarkModel& model(*profile()->GetBookmarkModel()); 1177 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
1177 const BookmarkNode* root = model.bookmark_bar_node(); 1178 const BookmarkNode* root = model.bookmark_bar_node();
1178 const std::string model_string("1b 2b 3b "); 1179 const std::string model_string("1b 2b 3b ");
1179 model_test_utils::AddNodesFromModelString(model, root, model_string); 1180 model_test_utils::AddNodesFromModelString(model, root, model_string);
1180 1181
1181 // Validate initial model. 1182 // Validate initial model.
1182 std::string actualModelString = model_test_utils::ModelStringFromNode(root); 1183 std::string actualModelString = model_test_utils::ModelStringFromNode(root);
1183 EXPECT_EQ(model_string, actualModelString); 1184 EXPECT_EQ(model_string, actualModelString);
1184 1185
1185 const BookmarkNode* parent = model.bookmark_bar_node(); 1186 const BookmarkNode* parent = model.bookmark_bar_node();
1186 const BookmarkNode* folder = model.AddFolder(parent, 1187 const BookmarkNode* folder = model.AddFolder(parent,
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
1261 // Check the size. It should have reduced. 1262 // Check the size. It should have reduced.
1262 EXPECT_GT(scrollerWidth, NSWidth([folderView frame])); 1263 EXPECT_GT(scrollerWidth, NSWidth([folderView frame]));
1263 EXPECT_GT(buttonWidth, NSWidth([button frame])); 1264 EXPECT_GT(buttonWidth, NSWidth([button frame]));
1264 1265
1265 // Check button spacing. 1266 // Check button spacing.
1266 [folderController validateMenuSpacing]; 1267 [folderController validateMenuSpacing];
1267 } 1268 }
1268 1269
1269 // See http://crbug.com/46101 1270 // See http://crbug.com/46101
1270 TEST_F(BookmarkBarFolderControllerMenuTest, HoverThenDeleteBookmark) { 1271 TEST_F(BookmarkBarFolderControllerMenuTest, HoverThenDeleteBookmark) {
1271 BookmarkModel& model(*profile()->GetBookmarkModel()); 1272 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
1272 const BookmarkNode* root = model.bookmark_bar_node(); 1273 const BookmarkNode* root = model.bookmark_bar_node();
1273 const BookmarkNode* folder = model.AddFolder(root, 1274 const BookmarkNode* folder = model.AddFolder(root,
1274 root->child_count(), 1275 root->child_count(),
1275 ASCIIToUTF16("BIG")); 1276 ASCIIToUTF16("BIG"));
1276 for (int i = 0; i < kLotsOfNodesCount; i++) 1277 for (int i = 0; i < kLotsOfNodesCount; i++)
1277 model.AddURL(folder, folder->child_count(), ASCIIToUTF16("kid"), 1278 model.AddURL(folder, folder->child_count(), ASCIIToUTF16("kid"),
1278 GURL("http://kid.com/smile")); 1279 GURL("http://kid.com/smile"));
1279 1280
1280 // Pop open the new folder window and hover one of its kids. 1281 // Pop open the new folder window and hover one of its kids.
1281 BookmarkButton* button = [bar_ buttonWithTitleEqualTo:@"BIG"]; 1282 BookmarkButton* button = [bar_ buttonWithTitleEqualTo:@"BIG"];
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1327 std::vector<const BookmarkNode*> dragDataNodes; 1328 std::vector<const BookmarkNode*> dragDataNodes;
1328 if(dragDataNode_) { 1329 if(dragDataNode_) {
1329 dragDataNodes.push_back(dragDataNode_); 1330 dragDataNodes.push_back(dragDataNode_);
1330 } 1331 }
1331 return dragDataNodes; 1332 return dragDataNodes;
1332 } 1333 }
1333 1334
1334 @end 1335 @end
1335 1336
1336 TEST_F(BookmarkBarFolderControllerMenuTest, DragBookmarkData) { 1337 TEST_F(BookmarkBarFolderControllerMenuTest, DragBookmarkData) {
1337 BookmarkModel& model(*profile()->GetBookmarkModel()); 1338 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
1338 const BookmarkNode* root = model.bookmark_bar_node(); 1339 const BookmarkNode* root = model.bookmark_bar_node();
1339 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " 1340 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
1340 "2f3b ] 3b 4b "); 1341 "2f3b ] 3b 4b ");
1341 model_test_utils::AddNodesFromModelString(model, root, model_string); 1342 model_test_utils::AddNodesFromModelString(model, root, model_string);
1342 const BookmarkNode* other = model.other_node(); 1343 const BookmarkNode* other = model.other_node();
1343 const std::string other_string("O1b O2b O3f:[ O3f1b O3f2f ] " 1344 const std::string other_string("O1b O2b O3f:[ O3f1b O3f2f ] "
1344 "O4f:[ O4f1b O4f2f ] 05b "); 1345 "O4f:[ O4f1b O4f2f ] 05b ");
1345 model_test_utils::AddNodesFromModelString(model, other, other_string); 1346 model_test_utils::AddNodesFromModelString(model, other, other_string);
1346 1347
1347 // Validate initial model. 1348 // Validate initial model.
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1388 "2f2f1b 2f2f2b 2f2f3b O4f:[ O4f1b O4f2f ] ] " 1389 "2f2f1b 2f2f2b 2f2f3b O4f:[ O4f1b O4f2f ] ] "
1389 "2f3b ] 3b 4b "); 1390 "2f3b ] 3b 4b ");
1390 actual = model_test_utils::ModelStringFromNode(root); 1391 actual = model_test_utils::ModelStringFromNode(root);
1391 EXPECT_EQ(expectedA, actual); 1392 EXPECT_EQ(expectedA, actual);
1392 1393
1393 // Check button spacing. 1394 // Check button spacing.
1394 [folderController validateMenuSpacing]; 1395 [folderController validateMenuSpacing];
1395 } 1396 }
1396 1397
1397 TEST_F(BookmarkBarFolderControllerMenuTest, DragBookmarkDataToTrash) { 1398 TEST_F(BookmarkBarFolderControllerMenuTest, DragBookmarkDataToTrash) {
1398 BookmarkModel& model(*profile()->GetBookmarkModel()); 1399 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
1399 const BookmarkNode* root = model.bookmark_bar_node(); 1400 const BookmarkNode* root = model.bookmark_bar_node();
1400 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " 1401 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
1401 "2f3b ] 3b 4b "); 1402 "2f3b ] 3b 4b ");
1402 model_test_utils::AddNodesFromModelString(model, root, model_string); 1403 model_test_utils::AddNodesFromModelString(model, root, model_string);
1403 1404
1404 // Validate initial model. 1405 // Validate initial model.
1405 std::string actual = model_test_utils::ModelStringFromNode(root); 1406 std::string actual = model_test_utils::ModelStringFromNode(root);
1406 EXPECT_EQ(model_string, actual); 1407 EXPECT_EQ(model_string, actual);
1407 1408
1408 const BookmarkNode* folderNode = root->GetChild(1); 1409 const BookmarkNode* folderNode = root->GetChild(1);
(...skipping 21 matching lines...) Expand all
1430 const std::string expected("1b 2f:[ 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " 1431 const std::string expected("1b 2f:[ 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
1431 "2f3b ] 3b 4b "); 1432 "2f3b ] 3b 4b ");
1432 actual = model_test_utils::ModelStringFromNode(root); 1433 actual = model_test_utils::ModelStringFromNode(root);
1433 EXPECT_EQ(expected, actual); 1434 EXPECT_EQ(expected, actual);
1434 1435
1435 // Check button spacing. 1436 // Check button spacing.
1436 [folderController validateMenuSpacing]; 1437 [folderController validateMenuSpacing];
1437 } 1438 }
1438 1439
1439 TEST_F(BookmarkBarFolderControllerMenuTest, AddURLs) { 1440 TEST_F(BookmarkBarFolderControllerMenuTest, AddURLs) {
1440 BookmarkModel& model(*profile()->GetBookmarkModel()); 1441 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
1441 const BookmarkNode* root = model.bookmark_bar_node(); 1442 const BookmarkNode* root = model.bookmark_bar_node();
1442 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " 1443 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
1443 "2f3b ] 3b 4b "); 1444 "2f3b ] 3b 4b ");
1444 model_test_utils::AddNodesFromModelString(model, root, model_string); 1445 model_test_utils::AddNodesFromModelString(model, root, model_string);
1445 1446
1446 // Validate initial model. 1447 // Validate initial model.
1447 std::string actual = model_test_utils::ModelStringFromNode(root); 1448 std::string actual = model_test_utils::ModelStringFromNode(root);
1448 EXPECT_EQ(model_string, actual); 1449 EXPECT_EQ(model_string, actual);
1449 1450
1450 // Pop open a folder. 1451 // Pop open a folder.
(...skipping 24 matching lines...) Expand all
1475 const std::string expected("1b 2f:[ SiteA SiteB 2f1b 2f2f:[ 2f2f1b 2f2f2b " 1476 const std::string expected("1b 2f:[ SiteA SiteB 2f1b 2f2f:[ 2f2f1b 2f2f2b "
1476 "2f2f3b ] 2f3b ] 3b 4b "); 1477 "2f2f3b ] 2f3b ] 3b 4b ");
1477 actual = model_test_utils::ModelStringFromNode(root); 1478 actual = model_test_utils::ModelStringFromNode(root);
1478 EXPECT_EQ(expected, actual); 1479 EXPECT_EQ(expected, actual);
1479 1480
1480 // Check button spacing. 1481 // Check button spacing.
1481 [folderController validateMenuSpacing]; 1482 [folderController validateMenuSpacing];
1482 } 1483 }
1483 1484
1484 TEST_F(BookmarkBarFolderControllerMenuTest, DropPositionIndicator) { 1485 TEST_F(BookmarkBarFolderControllerMenuTest, DropPositionIndicator) {
1485 BookmarkModel& model(*profile()->GetBookmarkModel()); 1486 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
1486 const BookmarkNode* root = model.bookmark_bar_node(); 1487 const BookmarkNode* root = model.bookmark_bar_node();
1487 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " 1488 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
1488 "2f3b ] 3b 4b "); 1489 "2f3b ] 3b 4b ");
1489 model_test_utils::AddNodesFromModelString(model, root, model_string); 1490 model_test_utils::AddNodesFromModelString(model, root, model_string);
1490 1491
1491 // Validate initial model. 1492 // Validate initial model.
1492 std::string actual = model_test_utils::ModelStringFromNode(root); 1493 std::string actual = model_test_utils::ModelStringFromNode(root);
1493 EXPECT_EQ(model_string, actual); 1494 EXPECT_EQ(model_string, actual);
1494 1495
1495 // Pop open the folder. 1496 // Pop open the folder.
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1534 bar_.reset([[BookmarkBarControllerNoDelete alloc] 1535 bar_.reset([[BookmarkBarControllerNoDelete alloc]
1535 initWithBrowser:browser() 1536 initWithBrowser:browser()
1536 initialWidth:NSWidth([parent_view_ frame]) 1537 initialWidth:NSWidth([parent_view_ frame])
1537 delegate:nil 1538 delegate:nil
1538 resizeDelegate:resizeDelegate_.get()]); 1539 resizeDelegate:resizeDelegate_.get()]);
1539 InstallAndToggleBar(bar_.get()); 1540 InstallAndToggleBar(bar_.get());
1540 } 1541 }
1541 }; 1542 };
1542 1543
1543 TEST_F(BookmarkBarFolderControllerClosingTest, DeleteClosesFolder) { 1544 TEST_F(BookmarkBarFolderControllerClosingTest, DeleteClosesFolder) {
1544 BookmarkModel& model(*profile()->GetBookmarkModel()); 1545 BookmarkModel& model(*BookmarkModelFactory::GetForProfile(profile()));
1545 const BookmarkNode* root = model.bookmark_bar_node(); 1546 const BookmarkNode* root = model.bookmark_bar_node();
1546 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b ] " 1547 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b ] "
1547 "2f3b ] 3b "); 1548 "2f3b ] 3b ");
1548 model_test_utils::AddNodesFromModelString(model, root, model_string); 1549 model_test_utils::AddNodesFromModelString(model, root, model_string);
1549 1550
1550 // Validate initial model. 1551 // Validate initial model.
1551 std::string actualModelString = model_test_utils::ModelStringFromNode(root); 1552 std::string actualModelString = model_test_utils::ModelStringFromNode(root);
1552 EXPECT_EQ(model_string, actualModelString); 1553 EXPECT_EQ(model_string, actualModelString);
1553 1554
1554 // Open the folder menu and submenu. 1555 // Open the folder menu and submenu.
(...skipping 15 matching lines...) Expand all
1570 [folder deleteBookmark:folder]; 1571 [folder deleteBookmark:folder];
1571 EXPECT_FALSE([folder folderController]); 1572 EXPECT_FALSE([folder folderController]);
1572 } 1573 }
1573 1574
1574 // TODO(jrg): draggingEntered: and draggingExited: trigger timers so 1575 // TODO(jrg): draggingEntered: and draggingExited: trigger timers so
1575 // they are hard to test. Factor out "fire timers" into routines 1576 // they are hard to test. Factor out "fire timers" into routines
1576 // which can be overridden to fire immediately to make behavior 1577 // which can be overridden to fire immediately to make behavior
1577 // confirmable. 1578 // confirmable.
1578 // There is a similar problem with mouseEnteredButton: and 1579 // There is a similar problem with mouseEnteredButton: and
1579 // mouseExitedButton:. 1580 // mouseExitedButton:.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698