OLD | NEW |
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 #include "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/mac/scoped_nsobject.h" | 6 #include "base/mac/scoped_nsobject.h" |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
8 #include "chrome/browser/bookmarks/bookmark_model.h" | 8 #include "chrome/browser/bookmarks/bookmark_model.h" |
9 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 9 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
10 #include "chrome/browser/bookmarks/bookmark_model_test_utils.h" | 10 #include "chrome/browser/bookmarks/bookmark_test_helpers.h" |
11 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_constants.h" | 11 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_constants.h" |
12 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h" | 12 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h" |
13 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_button_cell.h" | 13 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_button_cell.h" |
14 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.h" | 14 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.h" |
15 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_unittest_helper.h" | 15 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_unittest_helper.h" |
16 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h" | 16 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h" |
17 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" | 17 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" |
18 #import "chrome/browser/ui/cocoa/view_resizer_pong.h" | 18 #import "chrome/browser/ui/cocoa/view_resizer_pong.h" |
19 #include "testing/gtest/include/gtest/gtest.h" | 19 #include "testing/gtest/include/gtest/gtest.h" |
20 #import "testing/gtest_mac.h" | 20 #import "testing/gtest_mac.h" |
(...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
718 } | 718 } |
719 }; | 719 }; |
720 | 720 |
721 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveBarBookmarkToFolder) { | 721 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveBarBookmarkToFolder) { |
722 WithNoAnimation at_all; | 722 WithNoAnimation at_all; |
723 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 723 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
724 const BookmarkNode* root = model->bookmark_bar_node(); | 724 const BookmarkNode* root = model->bookmark_bar_node(); |
725 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " | 725 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " |
726 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " | 726 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " |
727 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); | 727 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); |
728 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 728 test::AddNodesFromModelString(model, root, model_string); |
729 | 729 |
730 // Validate initial model. | 730 // Validate initial model. |
731 std::string actualModelString = | 731 std::string actualModelString = test::ModelStringFromNode(root); |
732 BookmarkModelTestUtils::ModelStringFromNode(root); | |
733 EXPECT_EQ(model_string, actualModelString); | 732 EXPECT_EQ(model_string, actualModelString); |
734 | 733 |
735 // Pop up a folder menu and drag in a button from the bar. | 734 // Pop up a folder menu and drag in a button from the bar. |
736 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"2f"]; | 735 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"2f"]; |
737 NSRect oldToFolderFrame = [toFolder frame]; | 736 NSRect oldToFolderFrame = [toFolder frame]; |
738 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) | 737 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) |
739 withObject:toFolder]; | 738 withObject:toFolder]; |
740 BookmarkBarFolderController* folderController = [bar_ folderController]; | 739 BookmarkBarFolderController* folderController = [bar_ folderController]; |
741 EXPECT_TRUE(folderController); | 740 EXPECT_TRUE(folderController); |
742 NSWindow* toWindow = [folderController window]; | 741 NSWindow* toWindow = [folderController window]; |
743 EXPECT_TRUE(toWindow); | 742 EXPECT_TRUE(toWindow); |
744 NSRect oldToWindowFrame = [toWindow frame]; | 743 NSRect oldToWindowFrame = [toWindow frame]; |
745 // Drag a bar button onto a bookmark (i.e. not a folder) in a folder | 744 // Drag a bar button onto a bookmark (i.e. not a folder) in a folder |
746 // so it should end up below the target bookmark. | 745 // so it should end up below the target bookmark. |
747 BookmarkButton* draggedButton = [bar_ buttonWithTitleEqualTo:@"1b"]; | 746 BookmarkButton* draggedButton = [bar_ buttonWithTitleEqualTo:@"1b"]; |
748 ASSERT_TRUE(draggedButton); | 747 ASSERT_TRUE(draggedButton); |
749 CGFloat horizontalShift = | 748 CGFloat horizontalShift = |
750 NSWidth([draggedButton frame]) + bookmarks::kBookmarkHorizontalPadding; | 749 NSWidth([draggedButton frame]) + bookmarks::kBookmarkHorizontalPadding; |
751 BookmarkButton* targetButton = | 750 BookmarkButton* targetButton = |
752 [folderController buttonWithTitleEqualTo:@"2f1b"]; | 751 [folderController buttonWithTitleEqualTo:@"2f1b"]; |
753 ASSERT_TRUE(targetButton); | 752 ASSERT_TRUE(targetButton); |
754 [folderController dragButton:draggedButton | 753 [folderController dragButton:draggedButton |
755 to:[targetButton center] | 754 to:[targetButton center] |
756 copy:NO]; | 755 copy:NO]; |
757 // The button should have landed just after "2f1b". | 756 // The button should have landed just after "2f1b". |
758 const std::string expected_string("2f:[ 2f1b 1b 2f2f:[ 2f2f1b " | 757 const std::string expected_string("2f:[ 2f1b 1b 2f2f:[ 2f2f1b " |
759 "2f2f2b 2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ " | 758 "2f2f2b 2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ " |
760 "4f2f1b 4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); | 759 "4f2f1b 4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); |
761 EXPECT_EQ(expected_string, BookmarkModelTestUtils::ModelStringFromNode(root)); | 760 EXPECT_EQ(expected_string, test::ModelStringFromNode(root)); |
762 | 761 |
763 // Verify the window still appears by looking for its controller. | 762 // Verify the window still appears by looking for its controller. |
764 EXPECT_TRUE([bar_ folderController]); | 763 EXPECT_TRUE([bar_ folderController]); |
765 | 764 |
766 // Gather the new frames. | 765 // Gather the new frames. |
767 NSRect newToFolderFrame = [toFolder frame]; | 766 NSRect newToFolderFrame = [toFolder frame]; |
768 NSRect newToWindowFrame = [toWindow frame]; | 767 NSRect newToWindowFrame = [toWindow frame]; |
769 // The toFolder should have shifted left horizontally but not vertically. | 768 // The toFolder should have shifted left horizontally but not vertically. |
770 NSRect expectedToFolderFrame = | 769 NSRect expectedToFolderFrame = |
771 NSOffsetRect(oldToFolderFrame, -horizontalShift, 0); | 770 NSOffsetRect(oldToFolderFrame, -horizontalShift, 0); |
(...skipping 10 matching lines...) Expand all Loading... |
782 [folderController validateMenuSpacing]; | 781 [folderController validateMenuSpacing]; |
783 | 782 |
784 // Move the button back to the bar at the beginning. | 783 // Move the button back to the bar at the beginning. |
785 draggedButton = [folderController buttonWithTitleEqualTo:@"1b"]; | 784 draggedButton = [folderController buttonWithTitleEqualTo:@"1b"]; |
786 ASSERT_TRUE(draggedButton); | 785 ASSERT_TRUE(draggedButton); |
787 targetButton = [bar_ buttonWithTitleEqualTo:@"2f"]; | 786 targetButton = [bar_ buttonWithTitleEqualTo:@"2f"]; |
788 ASSERT_TRUE(targetButton); | 787 ASSERT_TRUE(targetButton); |
789 [bar_ dragButton:draggedButton | 788 [bar_ dragButton:draggedButton |
790 to:[targetButton left] | 789 to:[targetButton left] |
791 copy:NO]; | 790 copy:NO]; |
792 EXPECT_EQ(model_string, BookmarkModelTestUtils::ModelStringFromNode(root)); | 791 EXPECT_EQ(model_string, test::ModelStringFromNode(root)); |
793 // Don't check the folder window since it's not supposed to be showing. | 792 // Don't check the folder window since it's not supposed to be showing. |
794 } | 793 } |
795 | 794 |
796 TEST_F(BookmarkBarFolderControllerMenuTest, DragCopyBarBookmarkToFolder) { | 795 TEST_F(BookmarkBarFolderControllerMenuTest, DragCopyBarBookmarkToFolder) { |
797 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 796 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
798 const BookmarkNode* root = model->bookmark_bar_node(); | 797 const BookmarkNode* root = model->bookmark_bar_node(); |
799 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " | 798 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " |
800 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " | 799 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " |
801 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); | 800 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); |
802 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 801 test::AddNodesFromModelString(model, root, model_string); |
803 | 802 |
804 // Validate initial model. | 803 // Validate initial model. |
805 std::string actualModelString = | 804 std::string actualModelString = test::ModelStringFromNode(root); |
806 BookmarkModelTestUtils::ModelStringFromNode(root); | |
807 EXPECT_EQ(model_string, actualModelString); | 805 EXPECT_EQ(model_string, actualModelString); |
808 | 806 |
809 // Pop up a folder menu and copy in a button from the bar. | 807 // Pop up a folder menu and copy in a button from the bar. |
810 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"2f"]; | 808 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"2f"]; |
811 ASSERT_TRUE(toFolder); | 809 ASSERT_TRUE(toFolder); |
812 NSRect oldToFolderFrame = [toFolder frame]; | 810 NSRect oldToFolderFrame = [toFolder frame]; |
813 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) | 811 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) |
814 withObject:toFolder]; | 812 withObject:toFolder]; |
815 BookmarkBarFolderController* folderController = [bar_ folderController]; | 813 BookmarkBarFolderController* folderController = [bar_ folderController]; |
816 EXPECT_TRUE(folderController); | 814 EXPECT_TRUE(folderController); |
817 NSWindow* toWindow = [folderController window]; | 815 NSWindow* toWindow = [folderController window]; |
818 EXPECT_TRUE(toWindow); | 816 EXPECT_TRUE(toWindow); |
819 NSRect oldToWindowFrame = [toWindow frame]; | 817 NSRect oldToWindowFrame = [toWindow frame]; |
820 // Drag a bar button onto a bookmark (i.e. not a folder) in a folder | 818 // Drag a bar button onto a bookmark (i.e. not a folder) in a folder |
821 // so it should end up below the target bookmark. | 819 // so it should end up below the target bookmark. |
822 BookmarkButton* draggedButton = [bar_ buttonWithTitleEqualTo:@"1b"]; | 820 BookmarkButton* draggedButton = [bar_ buttonWithTitleEqualTo:@"1b"]; |
823 ASSERT_TRUE(draggedButton); | 821 ASSERT_TRUE(draggedButton); |
824 BookmarkButton* targetButton = | 822 BookmarkButton* targetButton = |
825 [folderController buttonWithTitleEqualTo:@"2f1b"]; | 823 [folderController buttonWithTitleEqualTo:@"2f1b"]; |
826 ASSERT_TRUE(targetButton); | 824 ASSERT_TRUE(targetButton); |
827 [folderController dragButton:draggedButton | 825 [folderController dragButton:draggedButton |
828 to:[targetButton center] | 826 to:[targetButton center] |
829 copy:YES]; | 827 copy:YES]; |
830 // The button should have landed just after "2f1b". | 828 // The button should have landed just after "2f1b". |
831 const std::string expected_1("1b 2f:[ 2f1b 1b 2f2f:[ 2f2f1b " | 829 const std::string expected_1("1b 2f:[ 2f1b 1b 2f2f:[ 2f2f1b " |
832 "2f2f2b 2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ " | 830 "2f2f2b 2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ " |
833 "4f2f1b 4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); | 831 "4f2f1b 4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); |
834 EXPECT_EQ(expected_1, BookmarkModelTestUtils::ModelStringFromNode(root)); | 832 EXPECT_EQ(expected_1, test::ModelStringFromNode(root)); |
835 | 833 |
836 // Gather the new frames. | 834 // Gather the new frames. |
837 NSRect newToFolderFrame = [toFolder frame]; | 835 NSRect newToFolderFrame = [toFolder frame]; |
838 NSRect newToWindowFrame = [toWindow frame]; | 836 NSRect newToWindowFrame = [toWindow frame]; |
839 // The toFolder should have shifted. | 837 // The toFolder should have shifted. |
840 EXPECT_NSRECT_EQ(oldToFolderFrame, newToFolderFrame); | 838 EXPECT_NSRECT_EQ(oldToFolderFrame, newToFolderFrame); |
841 // The toWindow should have shifted down vertically and grown vertically. | 839 // The toWindow should have shifted down vertically and grown vertically. |
842 NSRect expectedToWindowFrame = oldToWindowFrame; | 840 NSRect expectedToWindowFrame = oldToWindowFrame; |
843 expectedToWindowFrame.origin.y -= bookmarks::kBookmarkFolderButtonHeight; | 841 expectedToWindowFrame.origin.y -= bookmarks::kBookmarkFolderButtonHeight; |
844 expectedToWindowFrame.size.height += bookmarks::kBookmarkFolderButtonHeight; | 842 expectedToWindowFrame.size.height += bookmarks::kBookmarkFolderButtonHeight; |
845 EXPECT_NSRECT_EQ(expectedToWindowFrame, newToWindowFrame); | 843 EXPECT_NSRECT_EQ(expectedToWindowFrame, newToWindowFrame); |
846 | 844 |
847 // Copy the button back to the bar after "3b". | 845 // Copy the button back to the bar after "3b". |
848 draggedButton = [folderController buttonWithTitleEqualTo:@"1b"]; | 846 draggedButton = [folderController buttonWithTitleEqualTo:@"1b"]; |
849 ASSERT_TRUE(draggedButton); | 847 ASSERT_TRUE(draggedButton); |
850 targetButton = [bar_ buttonWithTitleEqualTo:@"4f"]; | 848 targetButton = [bar_ buttonWithTitleEqualTo:@"4f"]; |
851 ASSERT_TRUE(targetButton); | 849 ASSERT_TRUE(targetButton); |
852 [bar_ dragButton:draggedButton | 850 [bar_ dragButton:draggedButton |
853 to:[targetButton left] | 851 to:[targetButton left] |
854 copy:YES]; | 852 copy:YES]; |
855 const std::string expected_2("1b 2f:[ 2f1b 1b 2f2f:[ 2f2f1b " | 853 const std::string expected_2("1b 2f:[ 2f1b 1b 2f2f:[ 2f2f1b " |
856 "2f2f2b 2f2f3b ] 2f3b ] 3b 1b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ " | 854 "2f2f2b 2f2f3b ] 2f3b ] 3b 1b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ " |
857 "4f2f1b 4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); | 855 "4f2f1b 4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); |
858 EXPECT_EQ(expected_2, BookmarkModelTestUtils::ModelStringFromNode(root)); | 856 EXPECT_EQ(expected_2, test::ModelStringFromNode(root)); |
859 } | 857 } |
860 | 858 |
861 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveBarBookmarkToSubfolder) { | 859 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveBarBookmarkToSubfolder) { |
862 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 860 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
863 const BookmarkNode* root = model->bookmark_bar_node(); | 861 const BookmarkNode* root = model->bookmark_bar_node(); |
864 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " | 862 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " |
865 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " | 863 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " |
866 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); | 864 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); |
867 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 865 test::AddNodesFromModelString(model, root, model_string); |
868 | 866 |
869 // Validate initial model. | 867 // Validate initial model. |
870 std::string actualModelString = | 868 std::string actualModelString = test::ModelStringFromNode(root); |
871 BookmarkModelTestUtils::ModelStringFromNode(root); | |
872 EXPECT_EQ(model_string, actualModelString); | 869 EXPECT_EQ(model_string, actualModelString); |
873 | 870 |
874 // Pop up a folder menu and a subfolder menu. | 871 // Pop up a folder menu and a subfolder menu. |
875 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"4f"]; | 872 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"4f"]; |
876 ASSERT_TRUE(toFolder); | 873 ASSERT_TRUE(toFolder); |
877 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) | 874 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) |
878 withObject:toFolder]; | 875 withObject:toFolder]; |
879 BookmarkBarFolderController* folderController = [bar_ folderController]; | 876 BookmarkBarFolderController* folderController = [bar_ folderController]; |
880 EXPECT_TRUE(folderController); | 877 EXPECT_TRUE(folderController); |
881 NSWindow* toWindow = [folderController window]; | 878 NSWindow* toWindow = [folderController window]; |
(...skipping 17 matching lines...) Expand all Loading... |
899 BookmarkButton* targetButton = | 896 BookmarkButton* targetButton = |
900 [subfolderController buttonWithTitleEqualTo:@"4f2f3b"]; | 897 [subfolderController buttonWithTitleEqualTo:@"4f2f3b"]; |
901 ASSERT_TRUE(targetButton); | 898 ASSERT_TRUE(targetButton); |
902 [subfolderController dragButton:draggedButton | 899 [subfolderController dragButton:draggedButton |
903 to:[targetButton center] | 900 to:[targetButton center] |
904 copy:NO]; | 901 copy:NO]; |
905 // The button should have landed just after "2f". | 902 // The button should have landed just after "2f". |
906 const std::string expected_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b " | 903 const std::string expected_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b " |
907 "2f2f2b 2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ " | 904 "2f2f2b 2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ " |
908 "4f2f1b 4f2f2b 4f2f3b 5b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] "); | 905 "4f2f1b 4f2f2b 4f2f3b 5b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] "); |
909 EXPECT_EQ(expected_string, BookmarkModelTestUtils::ModelStringFromNode(root)); | 906 EXPECT_EQ(expected_string, test::ModelStringFromNode(root)); |
910 | 907 |
911 // Check button spacing. | 908 // Check button spacing. |
912 [folderController validateMenuSpacing]; | 909 [folderController validateMenuSpacing]; |
913 [subfolderController validateMenuSpacing]; | 910 [subfolderController validateMenuSpacing]; |
914 | 911 |
915 // Check the window layouts. The folder window should not have changed, | 912 // Check the window layouts. The folder window should not have changed, |
916 // but the subfolder window should have shifted vertically and grown. | 913 // but the subfolder window should have shifted vertically and grown. |
917 NSRect newToWindowFrame = [toWindow frame]; | 914 NSRect newToWindowFrame = [toWindow frame]; |
918 EXPECT_NSRECT_EQ(oldToWindowFrame, newToWindowFrame); | 915 EXPECT_NSRECT_EQ(oldToWindowFrame, newToWindowFrame); |
919 NSRect newToSubwindowFrame = [toSubwindow frame]; | 916 NSRect newToSubwindowFrame = [toSubwindow frame]; |
920 NSRect expectedToSubwindowFrame = oldToSubwindowFrame; | 917 NSRect expectedToSubwindowFrame = oldToSubwindowFrame; |
921 expectedToSubwindowFrame.origin.y -= bookmarks::kBookmarkFolderButtonHeight; | 918 expectedToSubwindowFrame.origin.y -= bookmarks::kBookmarkFolderButtonHeight; |
922 expectedToSubwindowFrame.size.height += | 919 expectedToSubwindowFrame.size.height += |
923 bookmarks::kBookmarkFolderButtonHeight; | 920 bookmarks::kBookmarkFolderButtonHeight; |
924 EXPECT_NSRECT_EQ(expectedToSubwindowFrame, newToSubwindowFrame); | 921 EXPECT_NSRECT_EQ(expectedToSubwindowFrame, newToSubwindowFrame); |
925 } | 922 } |
926 | 923 |
927 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveWithinFolder) { | 924 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveWithinFolder) { |
928 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 925 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
929 const BookmarkNode* root = model->bookmark_bar_node(); | 926 const BookmarkNode* root = model->bookmark_bar_node(); |
930 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " | 927 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " |
931 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " | 928 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " |
932 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); | 929 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); |
933 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 930 test::AddNodesFromModelString(model, root, model_string); |
934 | 931 |
935 // Validate initial model. | 932 // Validate initial model. |
936 std::string actualModelString = | 933 std::string actualModelString = test::ModelStringFromNode(root); |
937 BookmarkModelTestUtils::ModelStringFromNode(root); | |
938 EXPECT_EQ(model_string, actualModelString); | 934 EXPECT_EQ(model_string, actualModelString); |
939 | 935 |
940 // Pop up a folder menu. | 936 // Pop up a folder menu. |
941 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"4f"]; | 937 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"4f"]; |
942 ASSERT_TRUE(toFolder); | 938 ASSERT_TRUE(toFolder); |
943 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) | 939 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) |
944 withObject:toFolder]; | 940 withObject:toFolder]; |
945 BookmarkBarFolderController* folderController = [bar_ folderController]; | 941 BookmarkBarFolderController* folderController = [bar_ folderController]; |
946 EXPECT_TRUE(folderController); | 942 EXPECT_TRUE(folderController); |
947 NSWindow* toWindow = [folderController window]; | 943 NSWindow* toWindow = [folderController window]; |
948 EXPECT_TRUE(toWindow); | 944 EXPECT_TRUE(toWindow); |
949 NSRect oldToWindowFrame = [toWindow frame]; | 945 NSRect oldToWindowFrame = [toWindow frame]; |
950 // Drag a folder button to the top within the same parent. | 946 // Drag a folder button to the top within the same parent. |
951 BookmarkButton* draggedButton = | 947 BookmarkButton* draggedButton = |
952 [folderController buttonWithTitleEqualTo:@"4f2f"]; | 948 [folderController buttonWithTitleEqualTo:@"4f2f"]; |
953 ASSERT_TRUE(draggedButton); | 949 ASSERT_TRUE(draggedButton); |
954 BookmarkButton* targetButton = | 950 BookmarkButton* targetButton = |
955 [folderController buttonWithTitleEqualTo:@"4f1f"]; | 951 [folderController buttonWithTitleEqualTo:@"4f1f"]; |
956 ASSERT_TRUE(targetButton); | 952 ASSERT_TRUE(targetButton); |
957 [folderController dragButton:draggedButton | 953 [folderController dragButton:draggedButton |
958 to:[targetButton top] | 954 to:[targetButton top] |
959 copy:NO]; | 955 copy:NO]; |
960 // The button should have landed above "4f1f". | 956 // The button should have landed above "4f1f". |
961 const std::string expected_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b " | 957 const std::string expected_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b " |
962 "2f2f2b 2f2f3b ] 2f3b ] 3b 4f:[ 4f2f:[ 4f2f1b 4f2f2b 4f2f3b ] " | 958 "2f2f2b 2f2f3b ] 2f3b ] 3b 4f:[ 4f2f:[ 4f2f1b 4f2f2b 4f2f3b ] " |
963 "4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); | 959 "4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); |
964 EXPECT_EQ(expected_string, BookmarkModelTestUtils::ModelStringFromNode(root)); | 960 EXPECT_EQ(expected_string, test::ModelStringFromNode(root)); |
965 | 961 |
966 // The window should not have gone away. | 962 // The window should not have gone away. |
967 EXPECT_TRUE([bar_ folderController]); | 963 EXPECT_TRUE([bar_ folderController]); |
968 | 964 |
969 // The folder window should not have changed. | 965 // The folder window should not have changed. |
970 NSRect newToWindowFrame = [toWindow frame]; | 966 NSRect newToWindowFrame = [toWindow frame]; |
971 EXPECT_NSRECT_EQ(oldToWindowFrame, newToWindowFrame); | 967 EXPECT_NSRECT_EQ(oldToWindowFrame, newToWindowFrame); |
972 | 968 |
973 // Check button spacing. | 969 // Check button spacing. |
974 [folderController validateMenuSpacing]; | 970 [folderController validateMenuSpacing]; |
975 } | 971 } |
976 | 972 |
977 TEST_F(BookmarkBarFolderControllerMenuTest, DragParentOntoChild) { | 973 TEST_F(BookmarkBarFolderControllerMenuTest, DragParentOntoChild) { |
978 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 974 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
979 const BookmarkNode* root = model->bookmark_bar_node(); | 975 const BookmarkNode* root = model->bookmark_bar_node(); |
980 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " | 976 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " |
981 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " | 977 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " |
982 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); | 978 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); |
983 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 979 test::AddNodesFromModelString(model, root, model_string); |
984 | 980 |
985 // Validate initial model. | 981 // Validate initial model. |
986 std::string actualModelString = | 982 std::string actualModelString = test::ModelStringFromNode(root); |
987 BookmarkModelTestUtils::ModelStringFromNode(root); | |
988 EXPECT_EQ(model_string, actualModelString); | 983 EXPECT_EQ(model_string, actualModelString); |
989 | 984 |
990 // Pop up a folder menu. | 985 // Pop up a folder menu. |
991 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"4f"]; | 986 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"4f"]; |
992 ASSERT_TRUE(toFolder); | 987 ASSERT_TRUE(toFolder); |
993 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) | 988 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) |
994 withObject:toFolder]; | 989 withObject:toFolder]; |
995 BookmarkBarFolderController* folderController = [bar_ folderController]; | 990 BookmarkBarFolderController* folderController = [bar_ folderController]; |
996 EXPECT_TRUE(folderController); | 991 EXPECT_TRUE(folderController); |
997 NSWindow* toWindow = [folderController window]; | 992 NSWindow* toWindow = [folderController window]; |
998 EXPECT_TRUE(toWindow); | 993 EXPECT_TRUE(toWindow); |
999 // Drag a folder button to one of its children. | 994 // Drag a folder button to one of its children. |
1000 BookmarkButton* draggedButton = [bar_ buttonWithTitleEqualTo:@"4f"]; | 995 BookmarkButton* draggedButton = [bar_ buttonWithTitleEqualTo:@"4f"]; |
1001 ASSERT_TRUE(draggedButton); | 996 ASSERT_TRUE(draggedButton); |
1002 BookmarkButton* targetButton = | 997 BookmarkButton* targetButton = |
1003 [folderController buttonWithTitleEqualTo:@"4f3f"]; | 998 [folderController buttonWithTitleEqualTo:@"4f3f"]; |
1004 ASSERT_TRUE(targetButton); | 999 ASSERT_TRUE(targetButton); |
1005 [folderController dragButton:draggedButton | 1000 [folderController dragButton:draggedButton |
1006 to:[targetButton top] | 1001 to:[targetButton top] |
1007 copy:NO]; | 1002 copy:NO]; |
1008 // The model should not have changed. | 1003 // The model should not have changed. |
1009 EXPECT_EQ(model_string, BookmarkModelTestUtils::ModelStringFromNode(root)); | 1004 EXPECT_EQ(model_string, test::ModelStringFromNode(root)); |
1010 | 1005 |
1011 // Check button spacing. | 1006 // Check button spacing. |
1012 [folderController validateMenuSpacing]; | 1007 [folderController validateMenuSpacing]; |
1013 } | 1008 } |
1014 | 1009 |
1015 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveChildToParent) { | 1010 TEST_F(BookmarkBarFolderControllerMenuTest, DragMoveChildToParent) { |
1016 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 1011 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
1017 const BookmarkNode* root = model->bookmark_bar_node(); | 1012 const BookmarkNode* root = model->bookmark_bar_node(); |
1018 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " | 1013 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " |
1019 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " | 1014 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f:[ 4f2f1b " |
1020 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); | 1015 "4f2f2b 4f2f3b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); |
1021 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 1016 test::AddNodesFromModelString(model, root, model_string); |
1022 | 1017 |
1023 // Validate initial model. | 1018 // Validate initial model. |
1024 std::string actualModelString = | 1019 std::string actualModelString = test::ModelStringFromNode(root); |
1025 BookmarkModelTestUtils::ModelStringFromNode(root); | |
1026 EXPECT_EQ(model_string, actualModelString); | 1020 EXPECT_EQ(model_string, actualModelString); |
1027 | 1021 |
1028 // Pop up a folder menu and a subfolder menu. | 1022 // Pop up a folder menu and a subfolder menu. |
1029 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"4f"]; | 1023 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"4f"]; |
1030 ASSERT_TRUE(toFolder); | 1024 ASSERT_TRUE(toFolder); |
1031 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) | 1025 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) |
1032 withObject:toFolder]; | 1026 withObject:toFolder]; |
1033 BookmarkBarFolderController* folderController = [bar_ folderController]; | 1027 BookmarkBarFolderController* folderController = [bar_ folderController]; |
1034 EXPECT_TRUE(folderController); | 1028 EXPECT_TRUE(folderController); |
1035 BookmarkButton* toSubfolder = | 1029 BookmarkButton* toSubfolder = |
(...skipping 12 matching lines...) Expand all Loading... |
1048 BookmarkButton* targetButton = | 1042 BookmarkButton* targetButton = |
1049 [folderController buttonWithTitleEqualTo:@"4f2f"]; | 1043 [folderController buttonWithTitleEqualTo:@"4f2f"]; |
1050 ASSERT_TRUE(targetButton); | 1044 ASSERT_TRUE(targetButton); |
1051 [folderController dragButton:draggedButton | 1045 [folderController dragButton:draggedButton |
1052 to:[targetButton top] | 1046 to:[targetButton top] |
1053 copy:NO]; | 1047 copy:NO]; |
1054 // The button should have landed above "4f2f". | 1048 // The button should have landed above "4f2f". |
1055 const std::string expected_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " | 1049 const std::string expected_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b " |
1056 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f3b 4f2f:[ " | 1050 "2f2f3b ] 2f3b ] 3b 4f:[ 4f1f:[ 4f1f1b 4f1f2b 4f1f3b ] 4f2f3b 4f2f:[ " |
1057 "4f2f1b 4f2f2b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); | 1051 "4f2f1b 4f2f2b ] 4f3f:[ 4f3f1b 4f3f2b 4f3f3b ] ] 5b "); |
1058 EXPECT_EQ(expected_string, BookmarkModelTestUtils::ModelStringFromNode(root)); | 1052 EXPECT_EQ(expected_string, test::ModelStringFromNode(root)); |
1059 | 1053 |
1060 // Check button spacing. | 1054 // Check button spacing. |
1061 [folderController validateMenuSpacing]; | 1055 [folderController validateMenuSpacing]; |
1062 // The window should not have gone away. | 1056 // The window should not have gone away. |
1063 EXPECT_TRUE([bar_ folderController]); | 1057 EXPECT_TRUE([bar_ folderController]); |
1064 // The subfolder should have gone away. | 1058 // The subfolder should have gone away. |
1065 EXPECT_FALSE([folderController folderController]); | 1059 EXPECT_FALSE([folderController folderController]); |
1066 } | 1060 } |
1067 | 1061 |
1068 TEST_F(BookmarkBarFolderControllerMenuTest, DragWindowResizing) { | 1062 TEST_F(BookmarkBarFolderControllerMenuTest, DragWindowResizing) { |
1069 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 1063 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
1070 const BookmarkNode* root = model->bookmark_bar_node(); | 1064 const BookmarkNode* root = model->bookmark_bar_node(); |
1071 const std::string | 1065 const std::string model_string( |
1072 model_string("a b:[ b1 b2 b3 ] reallyReallyLongBookmarkName c "); | 1066 "a b:[ b1 b2 b3 ] reallyReallyLongBookmarkName c "); |
1073 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 1067 test::AddNodesFromModelString(model, root, model_string); |
1074 | 1068 |
1075 // Validate initial model. | 1069 // Validate initial model. |
1076 std::string actualModelString = | 1070 std::string actualModelString = test::ModelStringFromNode(root); |
1077 BookmarkModelTestUtils::ModelStringFromNode(root); | |
1078 EXPECT_EQ(model_string, actualModelString); | 1071 EXPECT_EQ(model_string, actualModelString); |
1079 | 1072 |
1080 // Pop up a folder menu. | 1073 // Pop up a folder menu. |
1081 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"b"]; | 1074 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"b"]; |
1082 ASSERT_TRUE(toFolder); | 1075 ASSERT_TRUE(toFolder); |
1083 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) | 1076 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) |
1084 withObject:toFolder]; | 1077 withObject:toFolder]; |
1085 BookmarkBarFolderController* folderController = [bar_ folderController]; | 1078 BookmarkBarFolderController* folderController = [bar_ folderController]; |
1086 EXPECT_TRUE(folderController); | 1079 EXPECT_TRUE(folderController); |
1087 NSWindow* toWindow = [folderController window]; | 1080 NSWindow* toWindow = [folderController window]; |
1088 EXPECT_TRUE(toWindow); | 1081 EXPECT_TRUE(toWindow); |
1089 CGFloat oldWidth = NSWidth([toWindow frame]); | 1082 CGFloat oldWidth = NSWidth([toWindow frame]); |
1090 // Drag the bookmark with a long name to the folder. | 1083 // Drag the bookmark with a long name to the folder. |
1091 BookmarkButton* draggedButton = | 1084 BookmarkButton* draggedButton = |
1092 [bar_ buttonWithTitleEqualTo:@"reallyReallyLongBookmarkName"]; | 1085 [bar_ buttonWithTitleEqualTo:@"reallyReallyLongBookmarkName"]; |
1093 ASSERT_TRUE(draggedButton); | 1086 ASSERT_TRUE(draggedButton); |
1094 BookmarkButton* targetButton = | 1087 BookmarkButton* targetButton = |
1095 [folderController buttonWithTitleEqualTo:@"b1"]; | 1088 [folderController buttonWithTitleEqualTo:@"b1"]; |
1096 ASSERT_TRUE(targetButton); | 1089 ASSERT_TRUE(targetButton); |
1097 [folderController dragButton:draggedButton | 1090 [folderController dragButton:draggedButton |
1098 to:[targetButton center] | 1091 to:[targetButton center] |
1099 copy:NO]; | 1092 copy:NO]; |
1100 // Verify the model change. | 1093 // Verify the model change. |
1101 const std::string | 1094 const std::string expected_string( |
1102 expected_string("a b:[ b1 reallyReallyLongBookmarkName b2 b3 ] c "); | 1095 "a b:[ b1 reallyReallyLongBookmarkName b2 b3 ] c "); |
1103 EXPECT_EQ(expected_string, BookmarkModelTestUtils::ModelStringFromNode(root)); | 1096 EXPECT_EQ(expected_string, test::ModelStringFromNode(root)); |
1104 // Verify the window grew. Just test a reasonable width gain. | 1097 // Verify the window grew. Just test a reasonable width gain. |
1105 CGFloat newWidth = NSWidth([toWindow frame]); | 1098 CGFloat newWidth = NSWidth([toWindow frame]); |
1106 EXPECT_LT(oldWidth + 30.0, newWidth); | 1099 EXPECT_LT(oldWidth + 30.0, newWidth); |
1107 } | 1100 } |
1108 | 1101 |
1109 TEST_F(BookmarkBarFolderControllerMenuTest, MoveRemoveAddButtons) { | 1102 TEST_F(BookmarkBarFolderControllerMenuTest, MoveRemoveAddButtons) { |
1110 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 1103 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
1111 const BookmarkNode* root = model->bookmark_bar_node(); | 1104 const BookmarkNode* root = model->bookmark_bar_node(); |
1112 const std::string model_string("1b 2f:[ 2f1b 2f2b 2f3b ] 3b 4b "); | 1105 const std::string model_string("1b 2f:[ 2f1b 2f2b 2f3b ] 3b 4b "); |
1113 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 1106 test::AddNodesFromModelString(model, root, model_string); |
1114 | 1107 |
1115 // Validate initial model. | 1108 // Validate initial model. |
1116 std::string actualModelString = | 1109 std::string actualModelString = test::ModelStringFromNode(root); |
1117 BookmarkModelTestUtils::ModelStringFromNode(root); | |
1118 EXPECT_EQ(model_string, actualModelString); | 1110 EXPECT_EQ(model_string, actualModelString); |
1119 | 1111 |
1120 // Pop up a folder menu. | 1112 // Pop up a folder menu. |
1121 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"2f"]; | 1113 BookmarkButton* toFolder = [bar_ buttonWithTitleEqualTo:@"2f"]; |
1122 ASSERT_TRUE(toFolder); | 1114 ASSERT_TRUE(toFolder); |
1123 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) | 1115 [[toFolder target] performSelector:@selector(openBookmarkFolderFromButton:) |
1124 withObject:toFolder]; | 1116 withObject:toFolder]; |
1125 BookmarkBarFolderController* folder = [bar_ folderController]; | 1117 BookmarkBarFolderController* folder = [bar_ folderController]; |
1126 EXPECT_TRUE(folder); | 1118 EXPECT_TRUE(folder); |
1127 | 1119 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1167 EXPECT_EQ(oldDisplayedButtons, [buttons count]); | 1159 EXPECT_EQ(oldDisplayedButtons, [buttons count]); |
1168 | 1160 |
1169 // Check button spacing. | 1161 // Check button spacing. |
1170 [folder validateMenuSpacing]; | 1162 [folder validateMenuSpacing]; |
1171 } | 1163 } |
1172 | 1164 |
1173 TEST_F(BookmarkBarFolderControllerMenuTest, ControllerForNode) { | 1165 TEST_F(BookmarkBarFolderControllerMenuTest, ControllerForNode) { |
1174 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 1166 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
1175 const BookmarkNode* root = model->bookmark_bar_node(); | 1167 const BookmarkNode* root = model->bookmark_bar_node(); |
1176 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b "); | 1168 const std::string model_string("1b 2f:[ 2f1b 2f2b ] 3b "); |
1177 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 1169 test::AddNodesFromModelString(model, root, model_string); |
1178 | 1170 |
1179 // Validate initial model. | 1171 // Validate initial model. |
1180 std::string actualModelString = | 1172 std::string actualModelString = test::ModelStringFromNode(root); |
1181 BookmarkModelTestUtils::ModelStringFromNode(root); | |
1182 EXPECT_EQ(model_string, actualModelString); | 1173 EXPECT_EQ(model_string, actualModelString); |
1183 | 1174 |
1184 // Find the main bar controller. | 1175 // Find the main bar controller. |
1185 const void* expectedController = bar_; | 1176 const void* expectedController = bar_; |
1186 const void* actualController = [bar_ controllerForNode:root]; | 1177 const void* actualController = [bar_ controllerForNode:root]; |
1187 EXPECT_EQ(expectedController, actualController); | 1178 EXPECT_EQ(expectedController, actualController); |
1188 | 1179 |
1189 // Pop up the folder menu. | 1180 // Pop up the folder menu. |
1190 BookmarkButton* targetFolder = [bar_ buttonWithTitleEqualTo:@"2f"]; | 1181 BookmarkButton* targetFolder = [bar_ buttonWithTitleEqualTo:@"2f"]; |
1191 ASSERT_TRUE(targetFolder); | 1182 ASSERT_TRUE(targetFolder); |
(...skipping 11 matching lines...) Expand all Loading... |
1203 | 1194 |
1204 // Find the folder controller from the bar. | 1195 // Find the folder controller from the bar. |
1205 actualController = [folder controllerForNode:targetNode]; | 1196 actualController = [folder controllerForNode:targetNode]; |
1206 EXPECT_EQ(expectedController, actualController); | 1197 EXPECT_EQ(expectedController, actualController); |
1207 } | 1198 } |
1208 | 1199 |
1209 TEST_F(BookmarkBarFolderControllerMenuTest, MenuSizingAndScrollArrows) { | 1200 TEST_F(BookmarkBarFolderControllerMenuTest, MenuSizingAndScrollArrows) { |
1210 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 1201 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
1211 const BookmarkNode* root = model->bookmark_bar_node(); | 1202 const BookmarkNode* root = model->bookmark_bar_node(); |
1212 const std::string model_string("1b 2b 3b "); | 1203 const std::string model_string("1b 2b 3b "); |
1213 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 1204 test::AddNodesFromModelString(model, root, model_string); |
1214 | 1205 |
1215 // Validate initial model. | 1206 // Validate initial model. |
1216 std::string actualModelString = | 1207 std::string actualModelString = test::ModelStringFromNode(root); |
1217 BookmarkModelTestUtils::ModelStringFromNode(root); | |
1218 EXPECT_EQ(model_string, actualModelString); | 1208 EXPECT_EQ(model_string, actualModelString); |
1219 | 1209 |
1220 const BookmarkNode* parent = model->bookmark_bar_node(); | 1210 const BookmarkNode* parent = model->bookmark_bar_node(); |
1221 const BookmarkNode* folder = model->AddFolder(parent, | 1211 const BookmarkNode* folder = model->AddFolder(parent, |
1222 parent->child_count(), | 1212 parent->child_count(), |
1223 ASCIIToUTF16("BIG")); | 1213 ASCIIToUTF16("BIG")); |
1224 | 1214 |
1225 // Pop open the new folder window and verify it has one (empty) item. | 1215 // Pop open the new folder window and verify it has one (empty) item. |
1226 BookmarkButton* button = [bar_ buttonWithTitleEqualTo:@"BIG"]; | 1216 BookmarkButton* button = [bar_ buttonWithTitleEqualTo:@"BIG"]; |
1227 [[button target] performSelector:@selector(openBookmarkFolderFromButton:) | 1217 [[button target] performSelector:@selector(openBookmarkFolderFromButton:) |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1368 return dragDataNodes; | 1358 return dragDataNodes; |
1369 } | 1359 } |
1370 | 1360 |
1371 @end | 1361 @end |
1372 | 1362 |
1373 TEST_F(BookmarkBarFolderControllerMenuTest, DragBookmarkData) { | 1363 TEST_F(BookmarkBarFolderControllerMenuTest, DragBookmarkData) { |
1374 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 1364 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
1375 const BookmarkNode* root = model->bookmark_bar_node(); | 1365 const BookmarkNode* root = model->bookmark_bar_node(); |
1376 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " | 1366 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " |
1377 "2f3b ] 3b 4b "); | 1367 "2f3b ] 3b 4b "); |
1378 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 1368 test::AddNodesFromModelString(model, root, model_string); |
1379 const BookmarkNode* other = model->other_node(); | 1369 const BookmarkNode* other = model->other_node(); |
1380 const std::string other_string("O1b O2b O3f:[ O3f1b O3f2f ] " | 1370 const std::string other_string("O1b O2b O3f:[ O3f1b O3f2f ] " |
1381 "O4f:[ O4f1b O4f2f ] 05b "); | 1371 "O4f:[ O4f1b O4f2f ] 05b "); |
1382 BookmarkModelTestUtils::AddNodesFromModelString(model, other, other_string); | 1372 test::AddNodesFromModelString(model, other, other_string); |
1383 | 1373 |
1384 // Validate initial model. | 1374 // Validate initial model. |
1385 std::string actual = BookmarkModelTestUtils::ModelStringFromNode(root); | 1375 std::string actual = test::ModelStringFromNode(root); |
1386 EXPECT_EQ(model_string, actual); | 1376 EXPECT_EQ(model_string, actual); |
1387 actual = BookmarkModelTestUtils::ModelStringFromNode(other); | 1377 actual = test::ModelStringFromNode(other); |
1388 EXPECT_EQ(other_string, actual); | 1378 EXPECT_EQ(other_string, actual); |
1389 | 1379 |
1390 // Pop open a folder. | 1380 // Pop open a folder. |
1391 BookmarkButton* button = [bar_ buttonWithTitleEqualTo:@"2f"]; | 1381 BookmarkButton* button = [bar_ buttonWithTitleEqualTo:@"2f"]; |
1392 base::scoped_nsobject<BookmarkBarFolderControllerDragData> folderController; | 1382 base::scoped_nsobject<BookmarkBarFolderControllerDragData> folderController; |
1393 folderController.reset([[BookmarkBarFolderControllerDragData alloc] | 1383 folderController.reset([[BookmarkBarFolderControllerDragData alloc] |
1394 initWithParentButton:button | 1384 initWithParentButton:button |
1395 parentController:nil | 1385 parentController:nil |
1396 barController:bar_ | 1386 barController:bar_ |
1397 profile:profile()]); | 1387 profile:profile()]); |
1398 BookmarkButton* targetButton = | 1388 BookmarkButton* targetButton = |
1399 [folderController buttonWithTitleEqualTo:@"2f1b"]; | 1389 [folderController buttonWithTitleEqualTo:@"2f1b"]; |
1400 ASSERT_TRUE(targetButton); | 1390 ASSERT_TRUE(targetButton); |
1401 | 1391 |
1402 // Gen up some dragging data. | 1392 // Gen up some dragging data. |
1403 const BookmarkNode* newNode = other->GetChild(2); | 1393 const BookmarkNode* newNode = other->GetChild(2); |
1404 [folderController setDragDataNode:newNode]; | 1394 [folderController setDragDataNode:newNode]; |
1405 base::scoped_nsobject<FakedDragInfo> dragInfo([[FakedDragInfo alloc] init]); | 1395 base::scoped_nsobject<FakedDragInfo> dragInfo([[FakedDragInfo alloc] init]); |
1406 [dragInfo setDropLocation:[targetButton top]]; | 1396 [dragInfo setDropLocation:[targetButton top]]; |
1407 [folderController dragBookmarkData:(id<NSDraggingInfo>)dragInfo.get()]; | 1397 [folderController dragBookmarkData:(id<NSDraggingInfo>)dragInfo.get()]; |
1408 | 1398 |
1409 // Verify the model. | 1399 // Verify the model. |
1410 const std::string expected("1b 2f:[ O3f:[ O3f1b O3f2f ] 2f1b 2f2f:[ 2f2f1b " | 1400 const std::string expected("1b 2f:[ O3f:[ O3f1b O3f2f ] 2f1b 2f2f:[ 2f2f1b " |
1411 "2f2f2b 2f2f3b ] 2f3b ] 3b 4b "); | 1401 "2f2f2b 2f2f3b ] 2f3b ] 3b 4b "); |
1412 actual = BookmarkModelTestUtils::ModelStringFromNode(root); | 1402 actual = test::ModelStringFromNode(root); |
1413 EXPECT_EQ(expected, actual); | 1403 EXPECT_EQ(expected, actual); |
1414 | 1404 |
1415 // Now drag over a folder button. | 1405 // Now drag over a folder button. |
1416 targetButton = [folderController buttonWithTitleEqualTo:@"2f2f"]; | 1406 targetButton = [folderController buttonWithTitleEqualTo:@"2f2f"]; |
1417 ASSERT_TRUE(targetButton); | 1407 ASSERT_TRUE(targetButton); |
1418 newNode = other->GetChild(2); // Should be O4f. | 1408 newNode = other->GetChild(2); // Should be O4f. |
1419 EXPECT_EQ(newNode->GetTitle(), ASCIIToUTF16("O4f")); | 1409 EXPECT_EQ(newNode->GetTitle(), ASCIIToUTF16("O4f")); |
1420 [folderController setDragDataNode:newNode]; | 1410 [folderController setDragDataNode:newNode]; |
1421 [dragInfo setDropLocation:[targetButton center]]; | 1411 [dragInfo setDropLocation:[targetButton center]]; |
1422 [folderController dragBookmarkData:(id<NSDraggingInfo>)dragInfo.get()]; | 1412 [folderController dragBookmarkData:(id<NSDraggingInfo>)dragInfo.get()]; |
1423 | 1413 |
1424 // Verify the model. | 1414 // Verify the model. |
1425 const std::string expectedA("1b 2f:[ O3f:[ O3f1b O3f2f ] 2f1b 2f2f:[ " | 1415 const std::string expectedA("1b 2f:[ O3f:[ O3f1b O3f2f ] 2f1b 2f2f:[ " |
1426 "2f2f1b 2f2f2b 2f2f3b O4f:[ O4f1b O4f2f ] ] " | 1416 "2f2f1b 2f2f2b 2f2f3b O4f:[ O4f1b O4f2f ] ] " |
1427 "2f3b ] 3b 4b "); | 1417 "2f3b ] 3b 4b "); |
1428 actual = BookmarkModelTestUtils::ModelStringFromNode(root); | 1418 actual = test::ModelStringFromNode(root); |
1429 EXPECT_EQ(expectedA, actual); | 1419 EXPECT_EQ(expectedA, actual); |
1430 | 1420 |
1431 // Check button spacing. | 1421 // Check button spacing. |
1432 [folderController validateMenuSpacing]; | 1422 [folderController validateMenuSpacing]; |
1433 } | 1423 } |
1434 | 1424 |
1435 TEST_F(BookmarkBarFolderControllerMenuTest, DragBookmarkDataToTrash) { | 1425 TEST_F(BookmarkBarFolderControllerMenuTest, DragBookmarkDataToTrash) { |
1436 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 1426 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
1437 const BookmarkNode* root = model->bookmark_bar_node(); | 1427 const BookmarkNode* root = model->bookmark_bar_node(); |
1438 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " | 1428 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " |
1439 "2f3b ] 3b 4b "); | 1429 "2f3b ] 3b 4b "); |
1440 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 1430 test::AddNodesFromModelString(model, root, model_string); |
1441 | 1431 |
1442 // Validate initial model. | 1432 // Validate initial model. |
1443 std::string actual = BookmarkModelTestUtils::ModelStringFromNode(root); | 1433 std::string actual = test::ModelStringFromNode(root); |
1444 EXPECT_EQ(model_string, actual); | 1434 EXPECT_EQ(model_string, actual); |
1445 | 1435 |
1446 const BookmarkNode* folderNode = root->GetChild(1); | 1436 const BookmarkNode* folderNode = root->GetChild(1); |
1447 int oldFolderChildCount = folderNode->child_count(); | 1437 int oldFolderChildCount = folderNode->child_count(); |
1448 | 1438 |
1449 // Pop open a folder. | 1439 // Pop open a folder. |
1450 BookmarkButton* button = [bar_ buttonWithTitleEqualTo:@"2f"]; | 1440 BookmarkButton* button = [bar_ buttonWithTitleEqualTo:@"2f"]; |
1451 base::scoped_nsobject<BookmarkBarFolderControllerDragData> folderController; | 1441 base::scoped_nsobject<BookmarkBarFolderControllerDragData> folderController; |
1452 folderController.reset([[BookmarkBarFolderControllerDragData alloc] | 1442 folderController.reset([[BookmarkBarFolderControllerDragData alloc] |
1453 initWithParentButton:button | 1443 initWithParentButton:button |
1454 parentController:nil | 1444 parentController:nil |
1455 barController:bar_ | 1445 barController:bar_ |
1456 profile:profile()]); | 1446 profile:profile()]); |
1457 | 1447 |
1458 // Drag a button to the trash. | 1448 // Drag a button to the trash. |
1459 BookmarkButton* buttonToDelete = | 1449 BookmarkButton* buttonToDelete = |
1460 [folderController buttonWithTitleEqualTo:@"2f1b"]; | 1450 [folderController buttonWithTitleEqualTo:@"2f1b"]; |
1461 ASSERT_TRUE(buttonToDelete); | 1451 ASSERT_TRUE(buttonToDelete); |
1462 EXPECT_TRUE([folderController canDragBookmarkButtonToTrash:buttonToDelete]); | 1452 EXPECT_TRUE([folderController canDragBookmarkButtonToTrash:buttonToDelete]); |
1463 [folderController didDragBookmarkToTrash:buttonToDelete]; | 1453 [folderController didDragBookmarkToTrash:buttonToDelete]; |
1464 | 1454 |
1465 // There should be one less button in the folder. | 1455 // There should be one less button in the folder. |
1466 int newFolderChildCount = folderNode->child_count(); | 1456 int newFolderChildCount = folderNode->child_count(); |
1467 EXPECT_EQ(oldFolderChildCount - 1, newFolderChildCount); | 1457 EXPECT_EQ(oldFolderChildCount - 1, newFolderChildCount); |
1468 // Verify the model. | 1458 // Verify the model. |
1469 const std::string expected("1b 2f:[ 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " | 1459 const std::string expected("1b 2f:[ 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " |
1470 "2f3b ] 3b 4b "); | 1460 "2f3b ] 3b 4b "); |
1471 actual = BookmarkModelTestUtils::ModelStringFromNode(root); | 1461 actual = test::ModelStringFromNode(root); |
1472 EXPECT_EQ(expected, actual); | 1462 EXPECT_EQ(expected, actual); |
1473 | 1463 |
1474 // Check button spacing. | 1464 // Check button spacing. |
1475 [folderController validateMenuSpacing]; | 1465 [folderController validateMenuSpacing]; |
1476 } | 1466 } |
1477 | 1467 |
1478 TEST_F(BookmarkBarFolderControllerMenuTest, AddURLs) { | 1468 TEST_F(BookmarkBarFolderControllerMenuTest, AddURLs) { |
1479 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 1469 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
1480 const BookmarkNode* root = model->bookmark_bar_node(); | 1470 const BookmarkNode* root = model->bookmark_bar_node(); |
1481 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " | 1471 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " |
1482 "2f3b ] 3b 4b "); | 1472 "2f3b ] 3b 4b "); |
1483 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 1473 test::AddNodesFromModelString(model, root, model_string); |
1484 | 1474 |
1485 // Validate initial model. | 1475 // Validate initial model. |
1486 std::string actual = BookmarkModelTestUtils::ModelStringFromNode(root); | 1476 std::string actual = test::ModelStringFromNode(root); |
1487 EXPECT_EQ(model_string, actual); | 1477 EXPECT_EQ(model_string, actual); |
1488 | 1478 |
1489 // Pop open a folder. | 1479 // Pop open a folder. |
1490 BookmarkButton* button = [bar_ buttonWithTitleEqualTo:@"2f"]; | 1480 BookmarkButton* button = [bar_ buttonWithTitleEqualTo:@"2f"]; |
1491 [[button target] performSelector:@selector(openBookmarkFolderFromButton:) | 1481 [[button target] performSelector:@selector(openBookmarkFolderFromButton:) |
1492 withObject:button]; | 1482 withObject:button]; |
1493 BookmarkBarFolderController* folderController = [bar_ folderController]; | 1483 BookmarkBarFolderController* folderController = [bar_ folderController]; |
1494 EXPECT_TRUE(folderController); | 1484 EXPECT_TRUE(folderController); |
1495 NSArray* buttons = [folderController buttons]; | 1485 NSArray* buttons = [folderController buttons]; |
1496 EXPECT_TRUE(buttons); | 1486 EXPECT_TRUE(buttons); |
1497 | 1487 |
1498 // Remember how many buttons are showing. | 1488 // Remember how many buttons are showing. |
1499 int oldDisplayedButtons = [buttons count]; | 1489 int oldDisplayedButtons = [buttons count]; |
1500 | 1490 |
1501 BookmarkButton* targetButton = | 1491 BookmarkButton* targetButton = |
1502 [folderController buttonWithTitleEqualTo:@"2f1b"]; | 1492 [folderController buttonWithTitleEqualTo:@"2f1b"]; |
1503 ASSERT_TRUE(targetButton); | 1493 ASSERT_TRUE(targetButton); |
1504 | 1494 |
1505 NSArray* urls = [NSArray arrayWithObjects: @"http://www.a.com/", | 1495 NSArray* urls = [NSArray arrayWithObjects: @"http://www.a.com/", |
1506 @"http://www.b.com/", nil]; | 1496 @"http://www.b.com/", nil]; |
1507 NSArray* titles = [NSArray arrayWithObjects: @"SiteA", @"SiteB", nil]; | 1497 NSArray* titles = [NSArray arrayWithObjects: @"SiteA", @"SiteB", nil]; |
1508 [folderController addURLs:urls withTitles:titles at:[targetButton top]]; | 1498 [folderController addURLs:urls withTitles:titles at:[targetButton top]]; |
1509 | 1499 |
1510 // There should two more buttons in the folder. | 1500 // There should two more buttons in the folder. |
1511 int newDisplayedButtons = [buttons count]; | 1501 int newDisplayedButtons = [buttons count]; |
1512 EXPECT_EQ(oldDisplayedButtons + 2, newDisplayedButtons); | 1502 EXPECT_EQ(oldDisplayedButtons + 2, newDisplayedButtons); |
1513 // Verify the model. | 1503 // Verify the model. |
1514 const std::string expected("1b 2f:[ SiteA SiteB 2f1b 2f2f:[ 2f2f1b 2f2f2b " | 1504 const std::string expected("1b 2f:[ SiteA SiteB 2f1b 2f2f:[ 2f2f1b 2f2f2b " |
1515 "2f2f3b ] 2f3b ] 3b 4b "); | 1505 "2f2f3b ] 2f3b ] 3b 4b "); |
1516 actual = BookmarkModelTestUtils::ModelStringFromNode(root); | 1506 actual = test::ModelStringFromNode(root); |
1517 EXPECT_EQ(expected, actual); | 1507 EXPECT_EQ(expected, actual); |
1518 | 1508 |
1519 // Check button spacing. | 1509 // Check button spacing. |
1520 [folderController validateMenuSpacing]; | 1510 [folderController validateMenuSpacing]; |
1521 } | 1511 } |
1522 | 1512 |
1523 TEST_F(BookmarkBarFolderControllerMenuTest, DropPositionIndicator) { | 1513 TEST_F(BookmarkBarFolderControllerMenuTest, DropPositionIndicator) { |
1524 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 1514 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
1525 const BookmarkNode* root = model->bookmark_bar_node(); | 1515 const BookmarkNode* root = model->bookmark_bar_node(); |
1526 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " | 1516 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b 2f2f3b ] " |
1527 "2f3b ] 3b 4b "); | 1517 "2f3b ] 3b 4b "); |
1528 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 1518 test::AddNodesFromModelString(model, root, model_string); |
1529 | 1519 |
1530 // Validate initial model. | 1520 // Validate initial model. |
1531 std::string actual = BookmarkModelTestUtils::ModelStringFromNode(root); | 1521 std::string actual = test::ModelStringFromNode(root); |
1532 EXPECT_EQ(model_string, actual); | 1522 EXPECT_EQ(model_string, actual); |
1533 | 1523 |
1534 // Pop open the folder. | 1524 // Pop open the folder. |
1535 BookmarkButton* button = [bar_ buttonWithTitleEqualTo:@"2f"]; | 1525 BookmarkButton* button = [bar_ buttonWithTitleEqualTo:@"2f"]; |
1536 [[button target] performSelector:@selector(openBookmarkFolderFromButton:) | 1526 [[button target] performSelector:@selector(openBookmarkFolderFromButton:) |
1537 withObject:button]; | 1527 withObject:button]; |
1538 BookmarkBarFolderController* folder = [bar_ folderController]; | 1528 BookmarkBarFolderController* folder = [bar_ folderController]; |
1539 EXPECT_TRUE(folder); | 1529 EXPECT_TRUE(folder); |
1540 | 1530 |
1541 // Test a series of points starting at the top of the folder. | 1531 // Test a series of points starting at the top of the folder. |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1577 resizeDelegate:resizeDelegate_.get()]); | 1567 resizeDelegate:resizeDelegate_.get()]); |
1578 InstallAndToggleBar(bar_.get()); | 1568 InstallAndToggleBar(bar_.get()); |
1579 } | 1569 } |
1580 }; | 1570 }; |
1581 | 1571 |
1582 TEST_F(BookmarkBarFolderControllerClosingTest, DeleteClosesFolder) { | 1572 TEST_F(BookmarkBarFolderControllerClosingTest, DeleteClosesFolder) { |
1583 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 1573 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
1584 const BookmarkNode* root = model->bookmark_bar_node(); | 1574 const BookmarkNode* root = model->bookmark_bar_node(); |
1585 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b ] " | 1575 const std::string model_string("1b 2f:[ 2f1b 2f2f:[ 2f2f1b 2f2f2b ] " |
1586 "2f3b ] 3b "); | 1576 "2f3b ] 3b "); |
1587 BookmarkModelTestUtils::AddNodesFromModelString(model, root, model_string); | 1577 test::AddNodesFromModelString(model, root, model_string); |
1588 | 1578 |
1589 // Validate initial model. | 1579 // Validate initial model. |
1590 std::string actualModelString = | 1580 std::string actualModelString = test::ModelStringFromNode(root); |
1591 BookmarkModelTestUtils::ModelStringFromNode(root); | |
1592 EXPECT_EQ(model_string, actualModelString); | 1581 EXPECT_EQ(model_string, actualModelString); |
1593 | 1582 |
1594 // Open the folder menu and submenu. | 1583 // Open the folder menu and submenu. |
1595 BookmarkButton* target = [bar_ buttonWithTitleEqualTo:@"2f"]; | 1584 BookmarkButton* target = [bar_ buttonWithTitleEqualTo:@"2f"]; |
1596 ASSERT_TRUE(target); | 1585 ASSERT_TRUE(target); |
1597 [[target target] performSelector:@selector(openBookmarkFolderFromButton:) | 1586 [[target target] performSelector:@selector(openBookmarkFolderFromButton:) |
1598 withObject:target]; | 1587 withObject:target]; |
1599 BookmarkBarFolderController* folder = [bar_ folderController]; | 1588 BookmarkBarFolderController* folder = [bar_ folderController]; |
1600 EXPECT_TRUE(folder); | 1589 EXPECT_TRUE(folder); |
1601 BookmarkButton* subTarget = [folder buttonWithTitleEqualTo:@"2f2f"]; | 1590 BookmarkButton* subTarget = [folder buttonWithTitleEqualTo:@"2f2f"]; |
1602 ASSERT_TRUE(subTarget); | 1591 ASSERT_TRUE(subTarget); |
1603 [[subTarget target] performSelector:@selector(openBookmarkFolderFromButton:) | 1592 [[subTarget target] performSelector:@selector(openBookmarkFolderFromButton:) |
1604 withObject:subTarget]; | 1593 withObject:subTarget]; |
1605 BookmarkBarFolderController* subFolder = [folder folderController]; | 1594 BookmarkBarFolderController* subFolder = [folder folderController]; |
1606 EXPECT_TRUE(subFolder); | 1595 EXPECT_TRUE(subFolder); |
1607 | 1596 |
1608 // Delete the folder node and verify the window closed down by looking | 1597 // Delete the folder node and verify the window closed down by looking |
1609 // for its controller again. | 1598 // for its controller again. |
1610 DeleteBookmark([folder parentButton], profile()); | 1599 DeleteBookmark([folder parentButton], profile()); |
1611 EXPECT_FALSE([folder folderController]); | 1600 EXPECT_FALSE([folder folderController]); |
1612 } | 1601 } |
1613 | 1602 |
1614 // TODO(jrg): draggingEntered: and draggingExited: trigger timers so | 1603 // TODO(jrg): draggingEntered: and draggingExited: trigger timers so |
1615 // they are hard to test. Factor out "fire timers" into routines | 1604 // they are hard to test. Factor out "fire timers" into routines |
1616 // which can be overridden to fire immediately to make behavior | 1605 // which can be overridden to fire immediately to make behavior |
1617 // confirmable. | 1606 // confirmable. |
1618 // There is a similar problem with mouseEnteredButton: and | 1607 // There is a similar problem with mouseEnteredButton: and |
1619 // mouseExitedButton:. | 1608 // mouseExitedButton:. |
OLD | NEW |