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

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

Issue 2216713002: Use BookmarkModelFactory::GetForBrowserContext everywhere (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bookmarks
Patch Set: Replace in .mm files Created 4 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
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 #include <stddef.h> 6 #include <stddef.h>
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/mac/mac_util.h" 10 #include "base/mac/mac_util.h"
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 [[NSNotificationCenter defaultCenter] 516 [[NSNotificationCenter defaultCenter]
517 postNotificationName:NSViewFrameDidChangeNotification 517 postNotificationName:NSViewFrameDidChangeNotification
518 object:[bar view]]; 518 object:[bar view]];
519 519
520 EXPECT_GT([bar toggles], 0); 520 EXPECT_GT([bar toggles], 0);
521 } 521 }
522 522
523 // Confirm our "no items" container goes away when we add the 1st 523 // Confirm our "no items" container goes away when we add the 1st
524 // bookmark, and comes back when we delete the bookmark. 524 // bookmark, and comes back when we delete the bookmark.
525 TEST_F(BookmarkBarControllerTest, NoItemContainerGoesAway) { 525 TEST_F(BookmarkBarControllerTest, NoItemContainerGoesAway) {
526 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 526 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
527 const BookmarkNode* bar = model->bookmark_bar_node(); 527 const BookmarkNode* bar = model->bookmark_bar_node();
528 528
529 [bar_ loaded:model]; 529 [bar_ loaded:model];
530 BookmarkBarView* view = [bar_ buttonView]; 530 BookmarkBarView* view = [bar_ buttonView];
531 DCHECK(view); 531 DCHECK(view);
532 NSView* noItemContainer = [view noItemContainer]; 532 NSView* noItemContainer = [view noItemContainer];
533 DCHECK(noItemContainer); 533 DCHECK(noItemContainer);
534 534
535 EXPECT_FALSE([noItemContainer isHidden]); 535 EXPECT_FALSE([noItemContainer isHidden]);
536 const BookmarkNode* node = model->AddURL(bar, bar->child_count(), 536 const BookmarkNode* node = model->AddURL(bar, bar->child_count(),
(...skipping 12 matching lines...) Expand all
549 // Move it from Other Bookmarks to the bar. 549 // Move it from Other Bookmarks to the bar.
550 model->Move(node, bar, 0); 550 model->Move(node, bar, 0);
551 EXPECT_TRUE([noItemContainer isHidden]); 551 EXPECT_TRUE([noItemContainer isHidden]);
552 // Move it back to Other Bookmarks from the bar. 552 // Move it back to Other Bookmarks from the bar.
553 model->Move(node, otherBookmarks, 0); 553 model->Move(node, otherBookmarks, 0);
554 EXPECT_FALSE([noItemContainer isHidden]); 554 EXPECT_FALSE([noItemContainer isHidden]);
555 } 555 }
556 556
557 // Confirm off the side button only enabled when reasonable. 557 // Confirm off the side button only enabled when reasonable.
558 TEST_F(BookmarkBarControllerTest, OffTheSideButtonHidden) { 558 TEST_F(BookmarkBarControllerTest, OffTheSideButtonHidden) {
559 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 559 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
560 560
561 [bar_ loaded:model]; 561 [bar_ loaded:model];
562 EXPECT_TRUE([bar_ offTheSideButtonIsHidden]); 562 EXPECT_TRUE([bar_ offTheSideButtonIsHidden]);
563 563
564 for (int i = 0; i < 2; i++) { 564 for (int i = 0; i < 2; i++) {
565 bookmarks::AddIfNotBookmarked( 565 bookmarks::AddIfNotBookmarked(
566 model, GURL("http://www.foo.com"), ASCIIToUTF16("small")); 566 model, GURL("http://www.foo.com"), ASCIIToUTF16("small"));
567 EXPECT_TRUE([bar_ offTheSideButtonIsHidden]); 567 EXPECT_TRUE([bar_ offTheSideButtonIsHidden]);
568 } 568 }
569 569
(...skipping 28 matching lines...) Expand all
598 } else { 598 } else {
599 EXPECT_TRUE([bar_ folderController]); 599 EXPECT_TRUE([bar_ folderController]);
600 } 600 }
601 } 601 }
602 } 602 }
603 603
604 // http://crbug.com/46175 is a crash when deleting bookmarks from the 604 // http://crbug.com/46175 is a crash when deleting bookmarks from the
605 // off-the-side menu while it is open. This test tries to bang hard 605 // off-the-side menu while it is open. This test tries to bang hard
606 // in this area to reproduce the crash. 606 // in this area to reproduce the crash.
607 TEST_F(BookmarkBarControllerTest, DeleteFromOffTheSideWhileItIsOpen) { 607 TEST_F(BookmarkBarControllerTest, DeleteFromOffTheSideWhileItIsOpen) {
608 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 608 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
609 [bar_ loaded:model]; 609 [bar_ loaded:model];
610 610
611 // Add a lot of bookmarks (per the bug). 611 // Add a lot of bookmarks (per the bug).
612 const BookmarkNode* parent = model->bookmark_bar_node(); 612 const BookmarkNode* parent = model->bookmark_bar_node();
613 for (int i = 0; i < 100; i++) { 613 for (int i = 0; i < 100; i++) {
614 std::ostringstream title; 614 std::ostringstream title;
615 title << "super duper wide title " << i; 615 title << "super duper wide title " << i;
616 model->AddURL(parent, parent->child_count(), ASCIIToUTF16(title.str()), 616 model->AddURL(parent, parent->child_count(), ASCIIToUTF16(title.str()),
617 GURL("http://superfriends.hall-of-justice.edu")); 617 GURL("http://superfriends.hall-of-justice.edu"));
618 } 618 }
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
680 } 680 }
681 681
682 // Confirm uniqueness. 682 // Confirm uniqueness.
683 std::sort(tags.begin(), tags.end()); 683 std::sort(tags.begin(), tags.end());
684 for (unsigned int i=0; i<(tags.size()-1); i++) { 684 for (unsigned int i=0; i<(tags.size()-1); i++) {
685 EXPECT_NE(tags[i], tags[i+1]); 685 EXPECT_NE(tags[i], tags[i+1]);
686 } 686 }
687 } 687 }
688 688
689 TEST_F(BookmarkBarControllerTest, MenuForFolderNode) { 689 TEST_F(BookmarkBarControllerTest, MenuForFolderNode) {
690 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 690 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
691 691
692 // First make sure something (e.g. "(empty)" string) is always present. 692 // First make sure something (e.g. "(empty)" string) is always present.
693 NSMenu* menu = [bar_ menuForFolderNode:model->bookmark_bar_node()]; 693 NSMenu* menu = [bar_ menuForFolderNode:model->bookmark_bar_node()];
694 EXPECT_GT([menu numberOfItems], 0); 694 EXPECT_GT([menu numberOfItems], 0);
695 695
696 // Test two bookmarks. 696 // Test two bookmarks.
697 GURL gurl("http://www.foo.com"); 697 GURL gurl("http://www.foo.com");
698 bookmarks::AddIfNotBookmarked(model, gurl, ASCIIToUTF16("small")); 698 bookmarks::AddIfNotBookmarked(model, gurl, ASCIIToUTF16("small"));
699 bookmarks::AddIfNotBookmarked( 699 bookmarks::AddIfNotBookmarked(
700 model, GURL("http://www.cnn.com"), ASCIIToUTF16("bigger title")); 700 model, GURL("http://www.cnn.com"), ASCIIToUTF16("bigger title"));
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
744 base::scoped_nsobject<BookmarkButton> button([[BookmarkButton alloc] init]); 744 base::scoped_nsobject<BookmarkButton> button([[BookmarkButton alloc] init]);
745 [button setCell:cell.get()]; 745 [button setCell:cell.get()];
746 [cell setRepresentedObject:[NSValue valueWithPointer:node.get()]]; 746 [cell setRepresentedObject:[NSValue valueWithPointer:node.get()]];
747 747
748 [bar_ openBookmark:button]; 748 [bar_ openBookmark:button];
749 EXPECT_EQ(noOpenBar()->urls_[0], node->url()); 749 EXPECT_EQ(noOpenBar()->urls_[0], node->url());
750 EXPECT_EQ(noOpenBar()->dispositions_[0], CURRENT_TAB); 750 EXPECT_EQ(noOpenBar()->dispositions_[0], CURRENT_TAB);
751 } 751 }
752 752
753 TEST_F(BookmarkBarControllerTest, TestAddRemoveAndClear) { 753 TEST_F(BookmarkBarControllerTest, TestAddRemoveAndClear) {
754 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 754 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
755 NSView* buttonView = [bar_ buttonView]; 755 NSView* buttonView = [bar_ buttonView];
756 EXPECT_EQ(0U, [[bar_ buttons] count]); 756 EXPECT_EQ(0U, [[bar_ buttons] count]);
757 unsigned int initial_subview_count = [[buttonView subviews] count]; 757 unsigned int initial_subview_count = [[buttonView subviews] count];
758 758
759 // Make sure a redundant call doesn't choke 759 // Make sure a redundant call doesn't choke
760 [bar_ clearBookmarkBar]; 760 [bar_ clearBookmarkBar];
761 EXPECT_EQ(0U, [[bar_ buttons] count]); 761 EXPECT_EQ(0U, [[bar_ buttons] count]);
762 EXPECT_EQ(initial_subview_count, [[buttonView subviews] count]); 762 EXPECT_EQ(initial_subview_count, [[buttonView subviews] count]);
763 763
764 GURL gurl1("http://superfriends.hall-of-justice.edu"); 764 GURL gurl1("http://superfriends.hall-of-justice.edu");
(...skipping 29 matching lines...) Expand all
794 794
795 // Explicit test of loaded: since this is a convenient spot 795 // Explicit test of loaded: since this is a convenient spot
796 [bar_ loaded:model]; 796 [bar_ loaded:model];
797 EXPECT_EQ(2U, [[bar_ buttons] count]); 797 EXPECT_EQ(2U, [[bar_ buttons] count]);
798 EXPECT_EQ(2+initial_subview_count, [[buttonView subviews] count]); 798 EXPECT_EQ(2+initial_subview_count, [[buttonView subviews] count]);
799 } 799 }
800 800
801 // Make sure we don't create too many buttons; we only really need 801 // Make sure we don't create too many buttons; we only really need
802 // ones that will be visible. 802 // ones that will be visible.
803 TEST_F(BookmarkBarControllerTest, TestButtonLimits) { 803 TEST_F(BookmarkBarControllerTest, TestButtonLimits) {
804 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 804 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
805 EXPECT_EQ(0U, [[bar_ buttons] count]); 805 EXPECT_EQ(0U, [[bar_ buttons] count]);
806 // Add one; make sure we see it. 806 // Add one; make sure we see it.
807 const BookmarkNode* parent = model->bookmark_bar_node(); 807 const BookmarkNode* parent = model->bookmark_bar_node();
808 model->AddURL(parent, parent->child_count(), 808 model->AddURL(parent, parent->child_count(),
809 ASCIIToUTF16("title"), GURL("http://www.google.com")); 809 ASCIIToUTF16("title"), GURL("http://www.google.com"));
810 EXPECT_EQ(1U, [[bar_ buttons] count]); 810 EXPECT_EQ(1U, [[bar_ buttons] count]);
811 811
812 // Add 30 which we expect to be 'too many'. Make sure we don't see 812 // Add 30 which we expect to be 'too many'. Make sure we don't see
813 // 30 buttons. 813 // 30 buttons.
814 model->Remove(parent->GetChild(0)); 814 model->Remove(parent->GetChild(0));
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
854 for (unsigned int i = 0; i < arraysize(widths); i++) { 854 for (unsigned int i = 0; i < arraysize(widths); i++) {
855 NSRect r = [bar_ frameForBookmarkButtonFromCell:[cells objectAtIndex:i] 855 NSRect r = [bar_ frameForBookmarkButtonFromCell:[cells objectAtIndex:i]
856 xOffset:&x_offset]; 856 xOffset:&x_offset];
857 EXPECT_GE(r.origin.x, x_end); 857 EXPECT_GE(r.origin.x, x_end);
858 x_end = NSMaxX(r); 858 x_end = NSMaxX(r);
859 } 859 }
860 } 860 }
861 861
862 TEST_F(BookmarkBarControllerTest, CheckForGrowth) { 862 TEST_F(BookmarkBarControllerTest, CheckForGrowth) {
863 WithNoAnimation at_all; // Turn off Cocoa auto animation in this scope. 863 WithNoAnimation at_all; // Turn off Cocoa auto animation in this scope.
864 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 864 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
865 GURL gurl1("http://www.google.com"); 865 GURL gurl1("http://www.google.com");
866 base::string16 title1(ASCIIToUTF16("x")); 866 base::string16 title1(ASCIIToUTF16("x"));
867 bookmarks::AddIfNotBookmarked(model, gurl1, title1); 867 bookmarks::AddIfNotBookmarked(model, gurl1, title1);
868 868
869 GURL gurl2("http://www.google.com/blah"); 869 GURL gurl2("http://www.google.com/blah");
870 base::string16 title2(ASCIIToUTF16("y")); 870 base::string16 title2(ASCIIToUTF16("y"));
871 bookmarks::AddIfNotBookmarked(model, gurl2, title2); 871 bookmarks::AddIfNotBookmarked(model, gurl2, title2);
872 872
873 EXPECT_EQ(2U, [[bar_ buttons] count]); 873 EXPECT_EQ(2U, [[bar_ buttons] count]);
874 CGFloat width_1 = [[[bar_ buttons] objectAtIndex:0] frame].size.width; 874 CGFloat width_1 = [[[bar_ buttons] objectAtIndex:0] frame].size.width;
875 CGFloat x_2 = [[[bar_ buttons] objectAtIndex:1] frame].origin.x; 875 CGFloat x_2 = [[[bar_ buttons] objectAtIndex:1] frame].origin.x;
876 876
877 NSButton* first = [[bar_ buttons] objectAtIndex:0]; 877 NSButton* first = [[bar_ buttons] objectAtIndex:0];
878 [[first cell] setTitle:@"This is a really big title; watch out mom!"]; 878 [[first cell] setTitle:@"This is a really big title; watch out mom!"];
879 [bar_ checkForBookmarkButtonGrowth:first]; 879 [bar_ checkForBookmarkButtonGrowth:first];
880 880
881 // Make sure the 1st button is now wider, the 2nd one is moved over, 881 // Make sure the 1st button is now wider, the 2nd one is moved over,
882 // and they don't overlap. 882 // and they don't overlap.
883 NSRect frame_1 = [[[bar_ buttons] objectAtIndex:0] frame]; 883 NSRect frame_1 = [[[bar_ buttons] objectAtIndex:0] frame];
884 NSRect frame_2 = [[[bar_ buttons] objectAtIndex:1] frame]; 884 NSRect frame_2 = [[[bar_ buttons] objectAtIndex:1] frame];
885 EXPECT_GT(frame_1.size.width, width_1); 885 EXPECT_GT(frame_1.size.width, width_1);
886 EXPECT_GT(frame_2.origin.x, x_2); 886 EXPECT_GT(frame_2.origin.x, x_2);
887 EXPECT_GE(frame_2.origin.x, frame_1.origin.x + frame_1.size.width); 887 EXPECT_GE(frame_2.origin.x, frame_1.origin.x + frame_1.size.width);
888 } 888 }
889 889
890 TEST_F(BookmarkBarControllerTest, DeleteBookmark) { 890 TEST_F(BookmarkBarControllerTest, DeleteBookmark) {
891 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 891 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
892 892
893 const char* urls[] = { "https://secret.url.com", 893 const char* urls[] = { "https://secret.url.com",
894 "http://super.duper.web.site.for.doodz.gov", 894 "http://super.duper.web.site.for.doodz.gov",
895 "http://www.foo-bar-baz.com/" }; 895 "http://www.foo-bar-baz.com/" };
896 const BookmarkNode* parent = model->bookmark_bar_node(); 896 const BookmarkNode* parent = model->bookmark_bar_node();
897 for (unsigned int i = 0; i < arraysize(urls); i++) { 897 for (unsigned int i = 0; i < arraysize(urls); i++) {
898 model->AddURL(parent, parent->child_count(), 898 model->AddURL(parent, parent->child_count(),
899 ASCIIToUTF16("title"), GURL(urls[i])); 899 ASCIIToUTF16("title"), GURL(urls[i]));
900 } 900 }
901 EXPECT_EQ(3, parent->child_count()); 901 EXPECT_EQ(3, parent->child_count());
902 const BookmarkNode* middle_node = parent->GetChild(1); 902 const BookmarkNode* middle_node = parent->GetChild(1);
903 model->Remove(middle_node); 903 model->Remove(middle_node);
904 904
905 EXPECT_EQ(2, parent->child_count()); 905 EXPECT_EQ(2, parent->child_count());
906 EXPECT_EQ(parent->GetChild(0)->url(), GURL(urls[0])); 906 EXPECT_EQ(parent->GetChild(0)->url(), GURL(urls[0]));
907 // node 2 moved into spot 1 907 // node 2 moved into spot 1
908 EXPECT_EQ(parent->GetChild(1)->url(), GURL(urls[2])); 908 EXPECT_EQ(parent->GetChild(1)->url(), GURL(urls[2]));
909 } 909 }
910 910
911 // TODO(jrg): write a test to confirm that nodeFaviconLoaded calls 911 // TODO(jrg): write a test to confirm that nodeFaviconLoaded calls
912 // checkForBookmarkButtonGrowth:. 912 // checkForBookmarkButtonGrowth:.
913 913
914 TEST_F(BookmarkBarControllerTest, Cell) { 914 TEST_F(BookmarkBarControllerTest, Cell) {
915 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 915 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
916 [bar_ loaded:model]; 916 [bar_ loaded:model];
917 917
918 const BookmarkNode* parent = model->bookmark_bar_node(); 918 const BookmarkNode* parent = model->bookmark_bar_node();
919 model->AddURL(parent, parent->child_count(), 919 model->AddURL(parent, parent->child_count(),
920 ASCIIToUTF16("supertitle"), 920 ASCIIToUTF16("supertitle"),
921 GURL("http://superfriends.hall-of-justice.edu")); 921 GURL("http://superfriends.hall-of-justice.edu"));
922 const BookmarkNode* node = parent->GetChild(0); 922 const BookmarkNode* node = parent->GetChild(0);
923 923
924 NSCell* cell = [bar_ cellForBookmarkNode:node]; 924 NSCell* cell = [bar_ cellForBookmarkNode:node];
925 EXPECT_TRUE(cell); 925 EXPECT_TRUE(cell);
(...skipping 11 matching lines...) Expand all
937 } 937 }
938 938
939 // Test drawing, mostly to ensure nothing leaks or crashes. 939 // Test drawing, mostly to ensure nothing leaks or crashes.
940 TEST_F(BookmarkBarControllerTest, Display) { 940 TEST_F(BookmarkBarControllerTest, Display) {
941 [[bar_ view] display]; 941 [[bar_ view] display];
942 } 942 }
943 943
944 // Test that middle clicking on a bookmark button results in an open action, 944 // Test that middle clicking on a bookmark button results in an open action,
945 // except for offTheSideButton, as it just opens its folder menu. 945 // except for offTheSideButton, as it just opens its folder menu.
946 TEST_F(BookmarkBarControllerTest, MiddleClick) { 946 TEST_F(BookmarkBarControllerTest, MiddleClick) {
947 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 947 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
948 GURL gurl1("http://www.google.com/"); 948 GURL gurl1("http://www.google.com/");
949 base::string16 title1(ASCIIToUTF16("x")); 949 base::string16 title1(ASCIIToUTF16("x"));
950 bookmarks::AddIfNotBookmarked(model, gurl1, title1); 950 bookmarks::AddIfNotBookmarked(model, gurl1, title1);
951 951
952 EXPECT_EQ(1U, [[bar_ buttons] count]); 952 EXPECT_EQ(1U, [[bar_ buttons] count]);
953 NSButton* first = [[bar_ buttons] objectAtIndex:0]; 953 NSButton* first = [[bar_ buttons] objectAtIndex:0];
954 EXPECT_TRUE(first); 954 EXPECT_TRUE(first);
955 955
956 [first otherMouseUp: 956 [first otherMouseUp:
957 cocoa_test_event_utils::MouseEventWithType(NSOtherMouseUp, 0)]; 957 cocoa_test_event_utils::MouseEventWithType(NSOtherMouseUp, 0)];
(...skipping 25 matching lines...) Expand all
983 EXPECT_TRUE([bbfc parentButton] == offTheSideButton); 983 EXPECT_TRUE([bbfc parentButton] == offTheSideButton);
984 984
985 // Middle clicking again on it should close the folder. 985 // Middle clicking again on it should close the folder.
986 [offTheSideButton otherMouseUp: 986 [offTheSideButton otherMouseUp:
987 cocoa_test_event_utils::MouseEventWithType(NSOtherMouseUp, 0)]; 987 cocoa_test_event_utils::MouseEventWithType(NSOtherMouseUp, 0)];
988 bbfc = [bar_ folderController]; 988 bbfc = [bar_ folderController];
989 EXPECT_FALSE(bbfc); 989 EXPECT_FALSE(bbfc);
990 } 990 }
991 991
992 TEST_F(BookmarkBarControllerTest, DisplaysHelpMessageOnEmpty) { 992 TEST_F(BookmarkBarControllerTest, DisplaysHelpMessageOnEmpty) {
993 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 993 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
994 [bar_ loaded:model]; 994 [bar_ loaded:model];
995 EXPECT_FALSE([[[bar_ buttonView] noItemContainer] isHidden]); 995 EXPECT_FALSE([[[bar_ buttonView] noItemContainer] isHidden]);
996 } 996 }
997 997
998 TEST_F(BookmarkBarControllerTest, HidesHelpMessageWithBookmark) { 998 TEST_F(BookmarkBarControllerTest, HidesHelpMessageWithBookmark) {
999 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 999 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1000 1000
1001 const BookmarkNode* parent = model->bookmark_bar_node(); 1001 const BookmarkNode* parent = model->bookmark_bar_node();
1002 model->AddURL(parent, parent->child_count(), 1002 model->AddURL(parent, parent->child_count(),
1003 ASCIIToUTF16("title"), GURL("http://one.com")); 1003 ASCIIToUTF16("title"), GURL("http://one.com"));
1004 1004
1005 [bar_ loaded:model]; 1005 [bar_ loaded:model];
1006 EXPECT_TRUE([[[bar_ buttonView] noItemContainer] isHidden]); 1006 EXPECT_TRUE([[[bar_ buttonView] noItemContainer] isHidden]);
1007 } 1007 }
1008 1008
1009 TEST_F(BookmarkBarControllerTest, BookmarkButtonSizing) { 1009 TEST_F(BookmarkBarControllerTest, BookmarkButtonSizing) {
1010 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1010 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1011 1011
1012 const BookmarkNode* parent = model->bookmark_bar_node(); 1012 const BookmarkNode* parent = model->bookmark_bar_node();
1013 model->AddURL(parent, parent->child_count(), 1013 model->AddURL(parent, parent->child_count(),
1014 ASCIIToUTF16("title"), GURL("http://one.com")); 1014 ASCIIToUTF16("title"), GURL("http://one.com"));
1015 1015
1016 [bar_ loaded:model]; 1016 [bar_ loaded:model];
1017 1017
1018 // Make sure the internal bookmark button also is the correct height. 1018 // Make sure the internal bookmark button also is the correct height.
1019 NSArray* buttons = [bar_ buttons]; 1019 NSArray* buttons = [bar_ buttons];
1020 EXPECT_GT([buttons count], 0u); 1020 EXPECT_GT([buttons count], 0u);
(...skipping 30 matching lines...) Expand all
1051 }; 1051 };
1052 EXPECT_EQ(arraysize(urls), arraysize(titles)); 1052 EXPECT_EQ(arraysize(urls), arraysize(titles));
1053 1053
1054 NSMutableArray* nsurls = [NSMutableArray array]; 1054 NSMutableArray* nsurls = [NSMutableArray array];
1055 NSMutableArray* nstitles = [NSMutableArray array]; 1055 NSMutableArray* nstitles = [NSMutableArray array];
1056 for (size_t i = 0; i < arraysize(urls); ++i) { 1056 for (size_t i = 0; i < arraysize(urls); ++i) {
1057 [nsurls addObject:base::SysUTF8ToNSString(urls[i])]; 1057 [nsurls addObject:base::SysUTF8ToNSString(urls[i])];
1058 [nstitles addObject:base::SysUTF8ToNSString(titles[i])]; 1058 [nstitles addObject:base::SysUTF8ToNSString(titles[i])];
1059 } 1059 }
1060 1060
1061 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1061 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1062 const BookmarkNode* parent = model->bookmark_bar_node(); 1062 const BookmarkNode* parent = model->bookmark_bar_node();
1063 [bar_ addURLs:nsurls withTitles:nstitles at:NSZeroPoint]; 1063 [bar_ addURLs:nsurls withTitles:nstitles at:NSZeroPoint];
1064 EXPECT_EQ(4, parent->child_count()); 1064 EXPECT_EQ(4, parent->child_count());
1065 for (int i = 0; i < parent->child_count(); ++i) { 1065 for (int i = 0; i < parent->child_count(); ++i) {
1066 GURL gurl = parent->GetChild(i)->url(); 1066 GURL gurl = parent->GetChild(i)->url();
1067 if (gurl.scheme() == "http" || 1067 if (gurl.scheme() == "http" ||
1068 gurl.scheme() == "javascript") { 1068 gurl.scheme() == "javascript") {
1069 EXPECT_EQ(parent->GetChild(i)->url(), GURL(urls[i])); 1069 EXPECT_EQ(parent->GetChild(i)->url(), GURL(urls[i]));
1070 } else { 1070 } else {
1071 // Be flexible if the scheme needed to be added. 1071 // Be flexible if the scheme needed to be added.
1072 std::string gurl_string = gurl.spec(); 1072 std::string gurl_string = gurl.spec();
1073 std::string my_string = parent->GetChild(i)->url().spec(); 1073 std::string my_string = parent->GetChild(i)->url().spec();
1074 EXPECT_NE(gurl_string.find(my_string), std::string::npos); 1074 EXPECT_NE(gurl_string.find(my_string), std::string::npos);
1075 } 1075 }
1076 EXPECT_EQ(parent->GetChild(i)->GetTitle(), ASCIIToUTF16(titles[i])); 1076 EXPECT_EQ(parent->GetChild(i)->GetTitle(), ASCIIToUTF16(titles[i]));
1077 } 1077 }
1078 } 1078 }
1079 1079
1080 TEST_F(BookmarkBarControllerTest, TestDragButton) { 1080 TEST_F(BookmarkBarControllerTest, TestDragButton) {
1081 WithNoAnimation at_all; 1081 WithNoAnimation at_all;
1082 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1082 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1083 1083
1084 GURL gurls[] = { GURL("http://www.google.com/a"), 1084 GURL gurls[] = { GURL("http://www.google.com/a"),
1085 GURL("http://www.google.com/b"), 1085 GURL("http://www.google.com/b"),
1086 GURL("http://www.google.com/c") }; 1086 GURL("http://www.google.com/c") };
1087 base::string16 titles[] = { ASCIIToUTF16("a"), 1087 base::string16 titles[] = { ASCIIToUTF16("a"),
1088 ASCIIToUTF16("b"), 1088 ASCIIToUTF16("b"),
1089 ASCIIToUTF16("c") }; 1089 ASCIIToUTF16("c") };
1090 for (unsigned i = 0; i < arraysize(titles); i++) 1090 for (unsigned i = 0; i < arraysize(titles); i++)
1091 bookmarks::AddIfNotBookmarked(model, gurls[i], titles[i]); 1091 bookmarks::AddIfNotBookmarked(model, gurls[i], titles[i]);
1092 1092
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1144 copy:NO]; 1144 copy:NO];
1145 // Gone from the bar 1145 // Gone from the bar
1146 EXPECT_EQ(arraysize(titles), [[bar_ buttons] count]); 1146 EXPECT_EQ(arraysize(titles), [[bar_ buttons] count]);
1147 // In the folder 1147 // In the folder
1148 EXPECT_EQ(2, folder->child_count()); 1148 EXPECT_EQ(2, folder->child_count());
1149 // At the end 1149 // At the end
1150 EXPECT_EQ(title, folder->GetChild(1)->GetTitle()); 1150 EXPECT_EQ(title, folder->GetChild(1)->GetTitle());
1151 } 1151 }
1152 1152
1153 TEST_F(BookmarkBarControllerTest, TestCopyButton) { 1153 TEST_F(BookmarkBarControllerTest, TestCopyButton) {
1154 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1154 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1155 1155
1156 GURL gurls[] = { GURL("http://www.google.com/a"), 1156 GURL gurls[] = { GURL("http://www.google.com/a"),
1157 GURL("http://www.google.com/b"), 1157 GURL("http://www.google.com/b"),
1158 GURL("http://www.google.com/c") }; 1158 GURL("http://www.google.com/c") };
1159 base::string16 titles[] = { ASCIIToUTF16("a"), 1159 base::string16 titles[] = { ASCIIToUTF16("a"),
1160 ASCIIToUTF16("b"), 1160 ASCIIToUTF16("b"),
1161 ASCIIToUTF16("c") }; 1161 ASCIIToUTF16("c") };
1162 for (unsigned i = 0; i < arraysize(titles); i++) 1162 for (unsigned i = 0; i < arraysize(titles); i++)
1163 bookmarks::AddIfNotBookmarked(model, gurls[i], titles[i]); 1163 bookmarks::AddIfNotBookmarked(model, gurls[i], titles[i]);
1164 1164
1165 EXPECT_EQ([[bar_ buttons] count], arraysize(titles)); 1165 EXPECT_EQ([[bar_ buttons] count], arraysize(titles));
1166 EXPECT_NSEQ(@"a", [[[bar_ buttons] objectAtIndex:0] title]); 1166 EXPECT_NSEQ(@"a", [[[bar_ buttons] objectAtIndex:0] title]);
1167 1167
1168 // Drag 'a' between 'b' and 'c'. 1168 // Drag 'a' between 'b' and 'c'.
1169 CGFloat x = NSMinX([[[bar_ buttons] objectAtIndex:2] frame]); 1169 CGFloat x = NSMinX([[[bar_ buttons] objectAtIndex:2] frame]);
1170 x += [[bar_ view] frame].origin.x; 1170 x += [[bar_ view] frame].origin.x;
1171 [bar_ dragButton:[[bar_ buttons] objectAtIndex:0] 1171 [bar_ dragButton:[[bar_ buttons] objectAtIndex:0]
1172 to:NSMakePoint(x, 0) 1172 to:NSMakePoint(x, 0)
1173 copy:YES]; 1173 copy:YES];
1174 EXPECT_NSEQ(@"a", [[[bar_ buttons] objectAtIndex:0] title]); 1174 EXPECT_NSEQ(@"a", [[[bar_ buttons] objectAtIndex:0] title]);
1175 EXPECT_NSEQ(@"b", [[[bar_ buttons] objectAtIndex:1] title]); 1175 EXPECT_NSEQ(@"b", [[[bar_ buttons] objectAtIndex:1] title]);
1176 EXPECT_NSEQ(@"a", [[[bar_ buttons] objectAtIndex:2] title]); 1176 EXPECT_NSEQ(@"a", [[[bar_ buttons] objectAtIndex:2] title]);
1177 EXPECT_NSEQ(@"c", [[[bar_ buttons] objectAtIndex:3] title]); 1177 EXPECT_NSEQ(@"c", [[[bar_ buttons] objectAtIndex:3] title]);
1178 EXPECT_EQ([[bar_ buttons] count], 4U); 1178 EXPECT_EQ([[bar_ buttons] count], 4U);
1179 } 1179 }
1180 1180
1181 // Fake a theme with colored text. Apply it and make sure bookmark 1181 // Fake a theme with colored text. Apply it and make sure bookmark
1182 // buttons have the same colored text. Repeat more than once. 1182 // buttons have the same colored text. Repeat more than once.
1183 TEST_F(BookmarkBarControllerTest, TestThemedButton) { 1183 TEST_F(BookmarkBarControllerTest, TestThemedButton) {
1184 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1184 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1185 bookmarks::AddIfNotBookmarked( 1185 bookmarks::AddIfNotBookmarked(
1186 model, GURL("http://www.foo.com"), ASCIIToUTF16("small")); 1186 model, GURL("http://www.foo.com"), ASCIIToUTF16("small"));
1187 BookmarkButton* button = [[bar_ buttons] objectAtIndex:0]; 1187 BookmarkButton* button = [[bar_ buttons] objectAtIndex:0];
1188 EXPECT_TRUE(button); 1188 EXPECT_TRUE(button);
1189 1189
1190 NSArray* colors = [NSArray arrayWithObjects:[NSColor redColor], 1190 NSArray* colors = [NSArray arrayWithObjects:[NSColor redColor],
1191 [NSColor blueColor], 1191 [NSColor blueColor],
1192 nil]; 1192 nil];
1193 for (NSColor* color in colors) { 1193 for (NSColor* color in colors) {
1194 FakeTheme theme(color); 1194 FakeTheme theme(color);
1195 [bar_ updateTheme:&theme]; 1195 [bar_ updateTheme:&theme];
1196 NSAttributedString* astr = [button attributedTitle]; 1196 NSAttributedString* astr = [button attributedTitle];
1197 EXPECT_TRUE(astr); 1197 EXPECT_TRUE(astr);
1198 EXPECT_NSEQ(@"small", [astr string]); 1198 EXPECT_NSEQ(@"small", [astr string]);
1199 // Pick a char in the middle to test (index 3) 1199 // Pick a char in the middle to test (index 3)
1200 NSDictionary* attributes = [astr attributesAtIndex:3 effectiveRange:NULL]; 1200 NSDictionary* attributes = [astr attributesAtIndex:3 effectiveRange:NULL];
1201 NSColor* newColor = 1201 NSColor* newColor =
1202 [attributes objectForKey:NSForegroundColorAttributeName]; 1202 [attributes objectForKey:NSForegroundColorAttributeName];
1203 EXPECT_NSEQ(newColor, color); 1203 EXPECT_NSEQ(newColor, color);
1204 } 1204 }
1205 } 1205 }
1206 1206
1207 // Test that delegates and targets of buttons are cleared on dealloc. 1207 // Test that delegates and targets of buttons are cleared on dealloc.
1208 TEST_F(BookmarkBarControllerTest, TestClearOnDealloc) { 1208 TEST_F(BookmarkBarControllerTest, TestClearOnDealloc) {
1209 // Make some bookmark buttons. 1209 // Make some bookmark buttons.
1210 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1210 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1211 GURL gurls[] = { GURL("http://www.foo.com/"), 1211 GURL gurls[] = { GURL("http://www.foo.com/"),
1212 GURL("http://www.bar.com/"), 1212 GURL("http://www.bar.com/"),
1213 GURL("http://www.baz.com/") }; 1213 GURL("http://www.baz.com/") };
1214 base::string16 titles[] = { ASCIIToUTF16("a"), 1214 base::string16 titles[] = { ASCIIToUTF16("a"),
1215 ASCIIToUTF16("b"), 1215 ASCIIToUTF16("b"),
1216 ASCIIToUTF16("c") }; 1216 ASCIIToUTF16("c") };
1217 for (size_t i = 0; i < arraysize(titles); i++) 1217 for (size_t i = 0; i < arraysize(titles); i++)
1218 bookmarks::AddIfNotBookmarked(model, gurls[i], titles[i]); 1218 bookmarks::AddIfNotBookmarked(model, gurls[i], titles[i]);
1219 1219
1220 // Get and retain the buttons so we can examine them after dealloc. 1220 // Get and retain the buttons so we can examine them after dealloc.
(...skipping 14 matching lines...) Expand all
1235 1235
1236 // Make sure that everything is cleared. 1236 // Make sure that everything is cleared.
1237 for (BookmarkButton* button in buttons.get()) { 1237 for (BookmarkButton* button in buttons.get()) {
1238 EXPECT_FALSE([button delegate]); 1238 EXPECT_FALSE([button delegate]);
1239 EXPECT_FALSE([button target]); 1239 EXPECT_FALSE([button target]);
1240 EXPECT_FALSE([button action]); 1240 EXPECT_FALSE([button action]);
1241 } 1241 }
1242 } 1242 }
1243 1243
1244 TEST_F(BookmarkBarControllerTest, TestFolders) { 1244 TEST_F(BookmarkBarControllerTest, TestFolders) {
1245 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1245 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1246 1246
1247 // Create some folder buttons. 1247 // Create some folder buttons.
1248 const BookmarkNode* parent = model->bookmark_bar_node(); 1248 const BookmarkNode* parent = model->bookmark_bar_node();
1249 const BookmarkNode* folder = model->AddFolder(parent, 1249 const BookmarkNode* folder = model->AddFolder(parent,
1250 parent->child_count(), 1250 parent->child_count(),
1251 ASCIIToUTF16("folder")); 1251 ASCIIToUTF16("folder"));
1252 model->AddURL(folder, folder->child_count(), 1252 model->AddURL(folder, folder->child_count(),
1253 ASCIIToUTF16("f1"), GURL("http://framma-lamma.com")); 1253 ASCIIToUTF16("f1"), GURL("http://framma-lamma.com"));
1254 folder = model->AddFolder(parent, parent->child_count(), 1254 folder = model->AddFolder(parent, parent->child_count(),
1255 ASCIIToUTF16("empty")); 1255 ASCIIToUTF16("empty"));
(...skipping 23 matching lines...) Expand all
1279 1279
1280 // Clean up. 1280 // Clean up.
1281 [bar_ closeBookmarkFolder:nil]; 1281 [bar_ closeBookmarkFolder:nil];
1282 } 1282 }
1283 1283
1284 // Verify that the folder menu presentation properly tracks mouse movements 1284 // Verify that the folder menu presentation properly tracks mouse movements
1285 // over the bar. Until there is a click no folder menus should show. After a 1285 // over the bar. Until there is a click no folder menus should show. After a
1286 // click on a folder folder menus should show until another click on a folder 1286 // click on a folder folder menus should show until another click on a folder
1287 // button, and a click outside the bar and its folder menus. 1287 // button, and a click outside the bar and its folder menus.
1288 TEST_F(BookmarkBarControllerTest, TestFolderButtons) { 1288 TEST_F(BookmarkBarControllerTest, TestFolderButtons) {
1289 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1289 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1290 const BookmarkNode* root = model->bookmark_bar_node(); 1290 const BookmarkNode* root = model->bookmark_bar_node();
1291 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b 4f:[ 4f1b 4f2b ] "); 1291 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b 4f:[ 4f1b 4f2b ] ");
1292 bookmarks::test::AddNodesFromModelString(model, root, model_string); 1292 bookmarks::test::AddNodesFromModelString(model, root, model_string);
1293 1293
1294 // Validate initial model and that we do not have a folder controller. 1294 // Validate initial model and that we do not have a folder controller.
1295 std::string actualModelString = bookmarks::test::ModelStringFromNode(root); 1295 std::string actualModelString = bookmarks::test::ModelStringFromNode(root);
1296 EXPECT_EQ(model_string, actualModelString); 1296 EXPECT_EQ(model_string, actualModelString);
1297 EXPECT_FALSE([bar_ folderController]); 1297 EXPECT_FALSE([bar_ folderController]);
1298 1298
1299 // Add a real bookmark so we can click on it. 1299 // Add a real bookmark so we can click on it.
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1343 } 1343 }
1344 1344
1345 // Make sure the "off the side" folder looks like a bookmark folder 1345 // Make sure the "off the side" folder looks like a bookmark folder
1346 // but only contains "off the side" items. 1346 // but only contains "off the side" items.
1347 TEST_F(BookmarkBarControllerTest, OffTheSideFolder) { 1347 TEST_F(BookmarkBarControllerTest, OffTheSideFolder) {
1348 1348
1349 // It starts hidden. 1349 // It starts hidden.
1350 EXPECT_TRUE([bar_ offTheSideButtonIsHidden]); 1350 EXPECT_TRUE([bar_ offTheSideButtonIsHidden]);
1351 1351
1352 // Create some buttons. 1352 // Create some buttons.
1353 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1353 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1354 const BookmarkNode* parent = model->bookmark_bar_node(); 1354 const BookmarkNode* parent = model->bookmark_bar_node();
1355 for (int x = 0; x < 30; x++) { 1355 for (int x = 0; x < 30; x++) {
1356 model->AddURL(parent, parent->child_count(), 1356 model->AddURL(parent, parent->child_count(),
1357 ASCIIToUTF16("medium-size-title"), 1357 ASCIIToUTF16("medium-size-title"),
1358 GURL("http://framma-lamma.com")); 1358 GURL("http://framma-lamma.com"));
1359 } 1359 }
1360 // Add a couple more so we can delete one and make sure its button goes away. 1360 // Add a couple more so we can delete one and make sure its button goes away.
1361 model->AddURL(parent, parent->child_count(), 1361 model->AddURL(parent, parent->child_count(),
1362 ASCIIToUTF16("DELETE_ME"), GURL("http://ashton-tate.com")); 1362 ASCIIToUTF16("DELETE_ME"), GURL("http://ashton-tate.com"));
1363 model->AddURL(parent, parent->child_count(), 1363 model->AddURL(parent, parent->child_count(),
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
1422 charactersIgnoringModifiers:@"x" 1422 charactersIgnoringModifiers:@"x"
1423 isARepeat:NO 1423 isARepeat:NO
1424 keyCode:87]; 1424 keyCode:87];
1425 EXPECT_FALSE([bar_ isEventAnExitEvent:event]); 1425 EXPECT_FALSE([bar_ isEventAnExitEvent:event]);
1426 1426
1427 [[[bar_ view] window] removeChildWindow:folderWindow]; 1427 [[[bar_ view] window] removeChildWindow:folderWindow];
1428 } 1428 }
1429 1429
1430 TEST_F(BookmarkBarControllerTest, DropDestination) { 1430 TEST_F(BookmarkBarControllerTest, DropDestination) {
1431 // Make some buttons. 1431 // Make some buttons.
1432 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1432 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1433 const BookmarkNode* parent = model->bookmark_bar_node(); 1433 const BookmarkNode* parent = model->bookmark_bar_node();
1434 model->AddFolder(parent, parent->child_count(), ASCIIToUTF16("folder 1")); 1434 model->AddFolder(parent, parent->child_count(), ASCIIToUTF16("folder 1"));
1435 model->AddFolder(parent, parent->child_count(), ASCIIToUTF16("folder 2")); 1435 model->AddFolder(parent, parent->child_count(), ASCIIToUTF16("folder 2"));
1436 EXPECT_EQ([[bar_ buttons] count], 2U); 1436 EXPECT_EQ([[bar_ buttons] count], 2U);
1437 1437
1438 // Confirm "off to left" and "off to right" match nothing. 1438 // Confirm "off to left" and "off to right" match nothing.
1439 NSPoint p = NSMakePoint(-1, 2); 1439 NSPoint p = NSMakePoint(-1, 2);
1440 EXPECT_FALSE([bar_ buttonForDroppingOnAtPoint:p]); 1440 EXPECT_FALSE([bar_ buttonForDroppingOnAtPoint:p]);
1441 EXPECT_TRUE([bar_ shouldShowIndicatorShownForPoint:p]); 1441 EXPECT_TRUE([bar_ shouldShowIndicatorShownForPoint:p]);
1442 p = NSMakePoint(50000, 10); 1442 p = NSMakePoint(50000, 10);
(...skipping 17 matching lines...) Expand all
1460 x = NSMinX([button frame]) + viewFrameXOffset; 1460 x = NSMinX([button frame]) + viewFrameXOffset;
1461 EXPECT_NE(button, 1461 EXPECT_NE(button,
1462 [bar_ buttonForDroppingOnAtPoint:NSMakePoint(x, 9)]); 1462 [bar_ buttonForDroppingOnAtPoint:NSMakePoint(x, 9)]);
1463 x = NSMaxX([button frame]) + viewFrameXOffset; 1463 x = NSMaxX([button frame]) + viewFrameXOffset;
1464 EXPECT_NE(button, 1464 EXPECT_NE(button,
1465 [bar_ buttonForDroppingOnAtPoint:NSMakePoint(x, 11)]); 1465 [bar_ buttonForDroppingOnAtPoint:NSMakePoint(x, 11)]);
1466 } 1466 }
1467 } 1467 }
1468 1468
1469 TEST_F(BookmarkBarControllerTest, CloseFolderOnAnimate) { 1469 TEST_F(BookmarkBarControllerTest, CloseFolderOnAnimate) {
1470 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1470 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1471 [bar_ setStateAnimationsEnabled:YES]; 1471 [bar_ setStateAnimationsEnabled:YES];
1472 const BookmarkNode* parent = model->bookmark_bar_node(); 1472 const BookmarkNode* parent = model->bookmark_bar_node();
1473 const BookmarkNode* folder = model->AddFolder(parent, 1473 const BookmarkNode* folder = model->AddFolder(parent,
1474 parent->child_count(), 1474 parent->child_count(),
1475 ASCIIToUTF16("folder")); 1475 ASCIIToUTF16("folder"));
1476 model->AddFolder(parent, parent->child_count(), 1476 model->AddFolder(parent, parent->child_count(),
1477 ASCIIToUTF16("sibbling folder")); 1477 ASCIIToUTF16("sibbling folder"));
1478 model->AddURL(folder, folder->child_count(), ASCIIToUTF16("title a"), 1478 model->AddURL(folder, folder->child_count(), ASCIIToUTF16("title a"),
1479 GURL("http://www.google.com/a")); 1479 GURL("http://www.google.com/a"));
1480 model->AddURL(folder, folder->child_count(), 1480 model->AddURL(folder, folder->child_count(),
(...skipping 17 matching lines...) Expand all
1498 // should have been closed thus releasing the folderController. 1498 // should have been closed thus releasing the folderController.
1499 EXPECT_FALSE([bar_ folderController]); 1499 EXPECT_FALSE([bar_ folderController]);
1500 1500
1501 // Stop the pending animation to tear down cleanly. 1501 // Stop the pending animation to tear down cleanly.
1502 [bar_ updateState:BookmarkBar::DETACHED 1502 [bar_ updateState:BookmarkBar::DETACHED
1503 changeType:BookmarkBar::DONT_ANIMATE_STATE_CHANGE]; 1503 changeType:BookmarkBar::DONT_ANIMATE_STATE_CHANGE];
1504 EXPECT_FALSE([bar_ isAnimationRunning]); 1504 EXPECT_FALSE([bar_ isAnimationRunning]);
1505 } 1505 }
1506 1506
1507 TEST_F(BookmarkBarControllerTest, MoveRemoveAddButtons) { 1507 TEST_F(BookmarkBarControllerTest, MoveRemoveAddButtons) {
1508 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1508 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1509 const BookmarkNode* root = model->bookmark_bar_node(); 1509 const BookmarkNode* root = model->bookmark_bar_node();
1510 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b "); 1510 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b ");
1511 bookmarks::test::AddNodesFromModelString(model, root, model_string); 1511 bookmarks::test::AddNodesFromModelString(model, root, model_string);
1512 1512
1513 // Validate initial model. 1513 // Validate initial model.
1514 std::string actualModelString = bookmarks::test::ModelStringFromNode(root); 1514 std::string actualModelString = bookmarks::test::ModelStringFromNode(root);
1515 EXPECT_EQ(model_string, actualModelString); 1515 EXPECT_EQ(model_string, actualModelString);
1516 1516
1517 // Remember how many buttons are showing. 1517 // Remember how many buttons are showing.
1518 int oldDisplayedButtons = [bar_ displayedButtonCount]; 1518 int oldDisplayedButtons = [bar_ displayedButtonCount];
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1580 // Simiulate browser window width change and ensure that the bookmark buttons 1580 // Simiulate browser window width change and ensure that the bookmark buttons
1581 // that should be visible are visible. 1581 // that should be visible are visible.
1582 // Appears to fail on Mac 10.11 bot on the waterfall; http://crbug.com/612640. 1582 // Appears to fail on Mac 10.11 bot on the waterfall; http://crbug.com/612640.
1583 TEST_F(BookmarkBarControllerTest, DISABLED_LastBookmarkResizeBehavior) { 1583 TEST_F(BookmarkBarControllerTest, DISABLED_LastBookmarkResizeBehavior) {
1584 // Hide the apps shortcut. 1584 // Hide the apps shortcut.
1585 profile()->GetPrefs()->SetBoolean( 1585 profile()->GetPrefs()->SetBoolean(
1586 bookmarks::prefs::kShowAppsShortcutInBookmarkBar, false); 1586 bookmarks::prefs::kShowAppsShortcutInBookmarkBar, false);
1587 ASSERT_TRUE([bar_ appsPageShortcutButtonIsHidden]); 1587 ASSERT_TRUE([bar_ appsPageShortcutButtonIsHidden]);
1588 1588
1589 // Add three buttons to the bookmark bar. 1589 // Add three buttons to the bookmark bar.
1590 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1590 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1591 const BookmarkNode* root = model->bookmark_bar_node(); 1591 const BookmarkNode* root = model->bookmark_bar_node();
1592 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b "); 1592 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b ");
1593 bookmarks::test::AddNodesFromModelString(model, root, model_string); 1593 bookmarks::test::AddNodesFromModelString(model, root, model_string);
1594 [bar_ frameDidChange]; 1594 [bar_ frameDidChange];
1595 1595
1596 // Step through simulated window resizings. In resizing from the first width 1596 // Step through simulated window resizings. In resizing from the first width
1597 // to the second, the bookmark bar should transition from displaying one 1597 // to the second, the bookmark bar should transition from displaying one
1598 // button to two. Of the next 5 widths, the third transitions the bar from 1598 // button to two. Of the next 5 widths, the third transitions the bar from
1599 // displaying two buttons to three. The next width (200.0) resizes the bar to 1599 // displaying two buttons to three. The next width (200.0) resizes the bar to
1600 // a large width that does not change the number of visible buttons, and the 1600 // a large width that does not change the number of visible buttons, and the
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
1659 NSRect frame = [[bar_ view] frame]; 1659 NSRect frame = [[bar_ view] frame];
1660 frame.size.width = view_widths[i] + bookmarks::BookmarkRightMargin(); 1660 frame.size.width = view_widths[i] + bookmarks::BookmarkRightMargin();
1661 [[bar_ view] setFrame:frame]; 1661 [[bar_ view] setFrame:frame];
1662 EXPECT_EQ(off_the_side_button_is_hidden_results[i], 1662 EXPECT_EQ(off_the_side_button_is_hidden_results[i],
1663 [bar_ offTheSideButtonIsHidden]); 1663 [bar_ offTheSideButtonIsHidden]);
1664 EXPECT_EQ(displayed_button_count_results[i], [bar_ displayedButtonCount]); 1664 EXPECT_EQ(displayed_button_count_results[i], [bar_ displayedButtonCount]);
1665 } 1665 }
1666 } 1666 }
1667 1667
1668 TEST_F(BookmarkBarControllerTest, BookmarksWithAppsPageShortcut) { 1668 TEST_F(BookmarkBarControllerTest, BookmarksWithAppsPageShortcut) {
1669 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1669 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1670 const BookmarkNode* root = model->bookmark_bar_node(); 1670 const BookmarkNode* root = model->bookmark_bar_node();
1671 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b "); 1671 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b ");
1672 bookmarks::test::AddNodesFromModelString(model, root, model_string); 1672 bookmarks::test::AddNodesFromModelString(model, root, model_string);
1673 [bar_ frameDidChange]; 1673 [bar_ frameDidChange];
1674 1674
1675 // Apps page shortcut button should be visible. 1675 // Apps page shortcut button should be visible.
1676 ASSERT_FALSE([bar_ appsPageShortcutButtonIsHidden]); 1676 ASSERT_FALSE([bar_ appsPageShortcutButtonIsHidden]);
1677 1677
1678 // Bookmarks should be to the right of the Apps page shortcut button. 1678 // Bookmarks should be to the right of the Apps page shortcut button.
1679 CGFloat apps_button_right = NSMaxX([[bar_ appsPageShortcutButton] frame]); 1679 CGFloat apps_button_right = NSMaxX([[bar_ appsPageShortcutButton] frame]);
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
1746 initialWidth:NSWidth(parent_frame) 1746 initialWidth:NSWidth(parent_frame)
1747 delegate:nil]); 1747 delegate:nil]);
1748 // Forces loading of the nib. 1748 // Forces loading of the nib.
1749 [[bar_ controlledView] setResizeDelegate:resizeDelegate_]; 1749 [[bar_ controlledView] setResizeDelegate:resizeDelegate_];
1750 // Awkwardness to look like we've been installed. 1750 // Awkwardness to look like we've been installed.
1751 [parent_view_ addSubview:[bar_ view]]; 1751 [parent_view_ addSubview:[bar_ view]];
1752 NSRect frame = [[[bar_ view] superview] frame]; 1752 NSRect frame = [[[bar_ view] superview] frame];
1753 frame.origin.y = 100; 1753 frame.origin.y = 100;
1754 [[[bar_ view] superview] setFrame:frame]; 1754 [[[bar_ view] superview] setFrame:frame];
1755 1755
1756 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1756 BookmarkModel* model =
1757 BookmarkModelFactory::GetForBrowserContext(profile());
1757 parent_ = model->bookmark_bar_node(); 1758 parent_ = model->bookmark_bar_node();
1758 // { one, { two-one, two-two }, three } 1759 // { one, { two-one, two-two }, three }
1759 model->AddURL(parent_, parent_->child_count(), ASCIIToUTF16("title"), 1760 model->AddURL(parent_, parent_->child_count(), ASCIIToUTF16("title"),
1760 GURL("http://one.com")); 1761 GURL("http://one.com"));
1761 folder_ = model->AddFolder(parent_, parent_->child_count(), 1762 folder_ = model->AddFolder(parent_, parent_->child_count(),
1762 ASCIIToUTF16("folder")); 1763 ASCIIToUTF16("folder"));
1763 model->AddURL(folder_, folder_->child_count(), 1764 model->AddURL(folder_, folder_->child_count(),
1764 ASCIIToUTF16("title"), GURL("http://two-one.com")); 1765 ASCIIToUTF16("title"), GURL("http://two-one.com"));
1765 model->AddURL(folder_, folder_->child_count(), 1766 model->AddURL(folder_, folder_->child_count(),
1766 ASCIIToUTF16("title"), GURL("http://two-two.com")); 1767 ASCIIToUTF16("title"), GURL("http://two-two.com"));
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1871 1872
1872 bar_.reset([[BookmarkBarControllerDragData alloc] 1873 bar_.reset([[BookmarkBarControllerDragData alloc]
1873 initWithBrowser:browser() 1874 initWithBrowser:browser()
1874 initialWidth:NSWidth([parent_view_ frame]) 1875 initialWidth:NSWidth([parent_view_ frame])
1875 delegate:nil]); 1876 delegate:nil]);
1876 InstallAndToggleBar(bar_.get()); 1877 InstallAndToggleBar(bar_.get());
1877 } 1878 }
1878 }; 1879 };
1879 1880
1880 TEST_F(BookmarkBarControllerDragDropTest, DragMoveBarBookmarkToOffTheSide) { 1881 TEST_F(BookmarkBarControllerDragDropTest, DragMoveBarBookmarkToOffTheSide) {
1881 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1882 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1882 const BookmarkNode* root = model->bookmark_bar_node(); 1883 const BookmarkNode* root = model->bookmark_bar_node();
1883 const std::string model_string("1bWithLongName 2fWithLongName:[ " 1884 const std::string model_string("1bWithLongName 2fWithLongName:[ "
1884 "2f1bWithLongName 2f2fWithLongName:[ 2f2f1bWithLongName " 1885 "2f1bWithLongName 2f2fWithLongName:[ 2f2f1bWithLongName "
1885 "2f2f2bWithLongName 2f2f3bWithLongName 2f4b ] 2f3bWithLongName ] " 1886 "2f2f2bWithLongName 2f2f3bWithLongName 2f4b ] 2f3bWithLongName ] "
1886 "3bWithLongName 4bWithLongName 5bWithLongName 6bWithLongName " 1887 "3bWithLongName 4bWithLongName 5bWithLongName 6bWithLongName "
1887 "7bWithLongName 8bWithLongName 9bWithLongName 10bWithLongName " 1888 "7bWithLongName 8bWithLongName 9bWithLongName 10bWithLongName "
1888 "11bWithLongName 12bWithLongName 13b "); 1889 "11bWithLongName 12bWithLongName 13b ");
1889 bookmarks::test::AddNodesFromModelString(model, root, model_string); 1890 bookmarks::test::AddNodesFromModelString(model, root, model_string);
1890 1891
1891 // Validate initial model. 1892 // Validate initial model.
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1923 int newDisplayedButtons = [bar_ displayedButtonCount]; 1924 int newDisplayedButtons = [bar_ displayedButtonCount];
1924 int newChildCount = root->child_count(); 1925 int newChildCount = root->child_count();
1925 int newOTSCount = (int)[[otsController buttons] count]; 1926 int newOTSCount = (int)[[otsController buttons] count];
1926 EXPECT_EQ(oldDisplayedButtons, newDisplayedButtons); 1927 EXPECT_EQ(oldDisplayedButtons, newDisplayedButtons);
1927 EXPECT_EQ(oldChildCount + 1, newChildCount); 1928 EXPECT_EQ(oldChildCount + 1, newChildCount);
1928 EXPECT_EQ(oldOTSCount + 1, newOTSCount); 1929 EXPECT_EQ(oldOTSCount + 1, newOTSCount);
1929 EXPECT_EQ(newOTSCount, newChildCount - newDisplayedButtons); 1930 EXPECT_EQ(newOTSCount, newChildCount - newDisplayedButtons);
1930 } 1931 }
1931 1932
1932 TEST_F(BookmarkBarControllerDragDropTest, DragOffTheSideToOther) { 1933 TEST_F(BookmarkBarControllerDragDropTest, DragOffTheSideToOther) {
1933 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1934 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1934 const BookmarkNode* root = model->bookmark_bar_node(); 1935 const BookmarkNode* root = model->bookmark_bar_node();
1935 const std::string model_string("1bWithLongName 2bWithLongName " 1936 const std::string model_string("1bWithLongName 2bWithLongName "
1936 "3bWithLongName 4bWithLongName 5bWithLongName 6bWithLongName " 1937 "3bWithLongName 4bWithLongName 5bWithLongName 6bWithLongName "
1937 "7bWithLongName 8bWithLongName 9bWithLongName 10bWithLongName " 1938 "7bWithLongName 8bWithLongName 9bWithLongName 10bWithLongName "
1938 "11bWithLongName 12bWithLongName 13bWithLongName 14bWithLongName " 1939 "11bWithLongName 12bWithLongName 13bWithLongName 14bWithLongName "
1939 "15bWithLongName 16bWithLongName 17bWithLongName 18bWithLongName " 1940 "15bWithLongName 16bWithLongName 17bWithLongName 18bWithLongName "
1940 "19bWithLongName 20bWithLongName "); 1941 "19bWithLongName 20bWithLongName ");
1941 bookmarks::test::AddNodesFromModelString(model, root, model_string); 1942 bookmarks::test::AddNodesFromModelString(model, root, model_string);
1942 1943
1943 const BookmarkNode* other = model->other_node(); 1944 const BookmarkNode* other = model->other_node();
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1980 // and one more in other bookmarks. 1981 // and one more in other bookmarks.
1981 int newRootCount = root->child_count(); 1982 int newRootCount = root->child_count();
1982 int newOTSCount = (int)[[otsController buttons] count]; 1983 int newOTSCount = (int)[[otsController buttons] count];
1983 int newOtherCount = other->child_count(); 1984 int newOtherCount = other->child_count();
1984 EXPECT_EQ(oldRootCount - 1, newRootCount); 1985 EXPECT_EQ(oldRootCount - 1, newRootCount);
1985 EXPECT_EQ(oldOTSCount - 1, newOTSCount); 1986 EXPECT_EQ(oldOTSCount - 1, newOTSCount);
1986 EXPECT_EQ(oldOtherCount + 1, newOtherCount); 1987 EXPECT_EQ(oldOtherCount + 1, newOtherCount);
1987 } 1988 }
1988 1989
1989 TEST_F(BookmarkBarControllerDragDropTest, DragBookmarkData) { 1990 TEST_F(BookmarkBarControllerDragDropTest, DragBookmarkData) {
1990 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 1991 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
1991 const BookmarkNode* root = model->bookmark_bar_node(); 1992 const BookmarkNode* root = model->bookmark_bar_node();
1992 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " 1993 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
1993 "2f3b ] 3b 4b "); 1994 "2f3b ] 3b 4b ");
1994 bookmarks::test::AddNodesFromModelString(model, root, model_string); 1995 bookmarks::test::AddNodesFromModelString(model, root, model_string);
1995 const BookmarkNode* other = model->other_node(); 1996 const BookmarkNode* other = model->other_node();
1996 const std::string other_string("O1b O2b O3f:[ O3f1b O3f2f ] " 1997 const std::string other_string("O1b O2b O3f:[ O3f1b O3f2f ] "
1997 "O4f:[ O4f1b O4f2f ] 05b "); 1998 "O4f:[ O4f1b O4f2f ] 05b ");
1998 bookmarks::test::AddNodesFromModelString(model, other, other_string); 1999 bookmarks::test::AddNodesFromModelString(model, other, other_string);
1999 2000
2000 // Validate initial model. 2001 // Validate initial model.
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
2040 EXPECT_EQ(oldChildCount, newChildCount); 2041 EXPECT_EQ(oldChildCount, newChildCount);
2041 // Verify the model. 2042 // Verify the model.
2042 const std::string expected1("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " 2043 const std::string expected1("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
2043 "2f3b O4f:[ O4f1b O4f2f ] ] O3f:[ O3f1b O3f2f ] " 2044 "2f3b O4f:[ O4f1b O4f2f ] ] O3f:[ O3f1b O3f2f ] "
2044 "3b 4b "); 2045 "3b 4b ");
2045 actual = bookmarks::test::ModelStringFromNode(root); 2046 actual = bookmarks::test::ModelStringFromNode(root);
2046 EXPECT_EQ(expected1, actual); 2047 EXPECT_EQ(expected1, actual);
2047 } 2048 }
2048 2049
2049 TEST_F(BookmarkBarControllerDragDropTest, AddURLs) { 2050 TEST_F(BookmarkBarControllerDragDropTest, AddURLs) {
2050 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 2051 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
2051 const BookmarkNode* root = model->bookmark_bar_node(); 2052 const BookmarkNode* root = model->bookmark_bar_node();
2052 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " 2053 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
2053 "2f3b ] 3b 4b "); 2054 "2f3b ] 3b 4b ");
2054 bookmarks::test::AddNodesFromModelString(model, root, model_string); 2055 bookmarks::test::AddNodesFromModelString(model, root, model_string);
2055 2056
2056 // Validate initial model. 2057 // Validate initial model.
2057 std::string actual = bookmarks::test::ModelStringFromNode(root); 2058 std::string actual = bookmarks::test::ModelStringFromNode(root);
2058 EXPECT_EQ(model_string, actual); 2059 EXPECT_EQ(model_string, actual);
2059 2060
2060 // Remember the children. 2061 // Remember the children.
(...skipping 11 matching lines...) Expand all
2072 int newChildCount = root->child_count(); 2073 int newChildCount = root->child_count();
2073 EXPECT_EQ(oldChildCount + 2, newChildCount); 2074 EXPECT_EQ(oldChildCount + 2, newChildCount);
2074 // Verify the model. 2075 // Verify the model.
2075 const std::string expected("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " 2076 const std::string expected("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
2076 "2f3b ] SiteA SiteB 3b 4b "); 2077 "2f3b ] SiteA SiteB 3b 4b ");
2077 actual = bookmarks::test::ModelStringFromNode(root); 2078 actual = bookmarks::test::ModelStringFromNode(root);
2078 EXPECT_EQ(expected, actual); 2079 EXPECT_EQ(expected, actual);
2079 } 2080 }
2080 2081
2081 TEST_F(BookmarkBarControllerDragDropTest, ControllerForNode) { 2082 TEST_F(BookmarkBarControllerDragDropTest, ControllerForNode) {
2082 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 2083 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
2083 const BookmarkNode* root = model->bookmark_bar_node(); 2084 const BookmarkNode* root = model->bookmark_bar_node();
2084 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b "); 2085 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b ");
2085 bookmarks::test::AddNodesFromModelString(model, root, model_string); 2086 bookmarks::test::AddNodesFromModelString(model, root, model_string);
2086 2087
2087 // Validate initial model. 2088 // Validate initial model.
2088 std::string actualModelString = bookmarks::test::ModelStringFromNode(root); 2089 std::string actualModelString = bookmarks::test::ModelStringFromNode(root);
2089 EXPECT_EQ(model_string, actualModelString); 2090 EXPECT_EQ(model_string, actualModelString);
2090 2091
2091 // Find the main bar controller. 2092 // Find the main bar controller.
2092 const void* expectedController = bar_; 2093 const void* expectedController = bar_;
2093 const void* actualController = [bar_ controllerForNode:root]; 2094 const void* actualController = [bar_ controllerForNode:root];
2094 EXPECT_EQ(expectedController, actualController); 2095 EXPECT_EQ(expectedController, actualController);
2095 } 2096 }
2096 2097
2097 TEST_F(BookmarkBarControllerDragDropTest, DropPositionIndicator) { 2098 TEST_F(BookmarkBarControllerDragDropTest, DropPositionIndicator) {
2098 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 2099 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
2099 const BookmarkNode* root = model->bookmark_bar_node(); 2100 const BookmarkNode* root = model->bookmark_bar_node();
2100 const std::string model_string("1b 2f:[ 2f1b 2f2b 2f3b ] 3b 4b "); 2101 const std::string model_string("1b 2f:[ 2f1b 2f2b 2f3b ] 3b 4b ");
2101 bookmarks::test::AddNodesFromModelString(model, root, model_string); 2102 bookmarks::test::AddNodesFromModelString(model, root, model_string);
2102 2103
2103 // Hide the apps shortcut. 2104 // Hide the apps shortcut.
2104 profile()->GetPrefs()->SetBoolean( 2105 profile()->GetPrefs()->SetBoolean(
2105 bookmarks::prefs::kShowAppsShortcutInBookmarkBar, false); 2106 bookmarks::prefs::kShowAppsShortcutInBookmarkBar, false);
2106 ASSERT_TRUE([bar_ appsPageShortcutButtonIsHidden]); 2107 ASSERT_TRUE([bar_ appsPageShortcutButtonIsHidden]);
2107 2108
2108 // Validate initial model. 2109 // Validate initial model.
(...skipping 18 matching lines...) Expand all
2127 targetButton = [bar_ buttonWithTitleEqualTo:@"4b"]; 2128 targetButton = [bar_ buttonWithTitleEqualTo:@"4b"];
2128 targetPoint = [targetButton right]; 2129 targetPoint = [targetButton right];
2129 targetPoint.x += 100; // Somewhere off to the right. 2130 targetPoint.x += 100; // Somewhere off to the right.
2130 CGFloat xDelta = 0.5 * bookmarks::BookmarkHorizontalPadding(); 2131 CGFloat xDelta = 0.5 * bookmarks::BookmarkHorizontalPadding();
2131 expected = NSMaxX([targetButton frame]) + xDelta; 2132 expected = NSMaxX([targetButton frame]) + xDelta;
2132 actual = [bar_ indicatorPosForDragToPoint:targetPoint]; 2133 actual = [bar_ indicatorPosForDragToPoint:targetPoint];
2133 EXPECT_CGFLOAT_EQ(expected, actual); 2134 EXPECT_CGFLOAT_EQ(expected, actual);
2134 } 2135 }
2135 2136
2136 TEST_F(BookmarkBarControllerDragDropTest, PulseButton) { 2137 TEST_F(BookmarkBarControllerDragDropTest, PulseButton) {
2137 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 2138 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
2138 const BookmarkNode* root = model->bookmark_bar_node(); 2139 const BookmarkNode* root = model->bookmark_bar_node();
2139 GURL gurl("http://www.google.com"); 2140 GURL gurl("http://www.google.com");
2140 const BookmarkNode* node = model->AddURL(root, root->child_count(), 2141 const BookmarkNode* node = model->AddURL(root, root->child_count(),
2141 ASCIIToUTF16("title"), gurl); 2142 ASCIIToUTF16("title"), gurl);
2142 2143
2143 BookmarkButton* button = [[bar_ buttons] objectAtIndex:0]; 2144 BookmarkButton* button = [[bar_ buttons] objectAtIndex:0];
2144 EXPECT_FALSE([button isContinuousPulsing]); 2145 EXPECT_FALSE([button isContinuousPulsing]);
2145 [bar_ startPulsingBookmarkNode:node]; 2146 [bar_ startPulsingBookmarkNode:node];
2146 EXPECT_TRUE([button isContinuousPulsing]); 2147 EXPECT_TRUE([button isContinuousPulsing]);
2147 [bar_ stopPulsingBookmarkNode]; 2148 [bar_ stopPulsingBookmarkNode];
(...skipping 23 matching lines...) Expand all
2171 // Removing a pulsing folder is allowed. 2172 // Removing a pulsing folder is allowed.
2172 [bar_ startPulsingBookmarkNode:inner]; 2173 [bar_ startPulsingBookmarkNode:inner];
2173 BookmarkButton* folder2_button = [[bar_ buttons] objectAtIndex:2]; 2174 BookmarkButton* folder2_button = [[bar_ buttons] objectAtIndex:2];
2174 EXPECT_TRUE([folder2_button isContinuousPulsing]); 2175 EXPECT_TRUE([folder2_button isContinuousPulsing]);
2175 model->Remove(folder2); 2176 model->Remove(folder2);
2176 EXPECT_FALSE([folder2_button isContinuousPulsing]); 2177 EXPECT_FALSE([folder2_button isContinuousPulsing]);
2177 [bar_ stopPulsingBookmarkNode]; // Should not crash. 2178 [bar_ stopPulsingBookmarkNode]; // Should not crash.
2178 } 2179 }
2179 2180
2180 TEST_F(BookmarkBarControllerDragDropTest, DragBookmarkDataToTrash) { 2181 TEST_F(BookmarkBarControllerDragDropTest, DragBookmarkDataToTrash) {
2181 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); 2182 BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile());
2182 const BookmarkNode* root = model->bookmark_bar_node(); 2183 const BookmarkNode* root = model->bookmark_bar_node();
2183 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " 2184 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] "
2184 "2f3b ] 3b 4b "); 2185 "2f3b ] 3b 4b ");
2185 bookmarks::test::AddNodesFromModelString(model, root, model_string); 2186 bookmarks::test::AddNodesFromModelString(model, root, model_string);
2186 2187
2187 // Validate initial model. 2188 // Validate initial model.
2188 std::string actual = bookmarks::test::ModelStringFromNode(root); 2189 std::string actual = bookmarks::test::ModelStringFromNode(root);
2189 EXPECT_EQ(model_string, actual); 2190 EXPECT_EQ(model_string, actual);
2190 2191
2191 int oldChildCount = root->child_count(); 2192 int oldChildCount = root->child_count();
(...skipping 12 matching lines...) Expand all
2204 "2f3b ] 4b "); 2205 "2f3b ] 4b ");
2205 actual = bookmarks::test::ModelStringFromNode(root); 2206 actual = bookmarks::test::ModelStringFromNode(root);
2206 EXPECT_EQ(expected, actual); 2207 EXPECT_EQ(expected, actual);
2207 2208
2208 // Verify that the other bookmark folder can't be deleted. 2209 // Verify that the other bookmark folder can't be deleted.
2209 BookmarkButton *otherButton = [bar_ otherBookmarksButton]; 2210 BookmarkButton *otherButton = [bar_ otherBookmarksButton];
2210 EXPECT_FALSE([bar_ canDragBookmarkButtonToTrash:otherButton]); 2211 EXPECT_FALSE([bar_ canDragBookmarkButtonToTrash:otherButton]);
2211 } 2212 }
2212 2213
2213 } // namespace 2214 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698