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 #import <Cocoa/Cocoa.h> | 5 #import <Cocoa/Cocoa.h> |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/mac/mac_util.h" | 9 #include "base/mac/mac_util.h" |
10 #include "base/mac/scoped_nsobject.h" | 10 #include "base/mac/scoped_nsobject.h" |
(...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
522 BookmarkBarView* view = [bar_ buttonView]; | 522 BookmarkBarView* view = [bar_ buttonView]; |
523 DCHECK(view); | 523 DCHECK(view); |
524 NSView* noItemContainer = [view noItemContainer]; | 524 NSView* noItemContainer = [view noItemContainer]; |
525 DCHECK(noItemContainer); | 525 DCHECK(noItemContainer); |
526 | 526 |
527 EXPECT_FALSE([noItemContainer isHidden]); | 527 EXPECT_FALSE([noItemContainer isHidden]); |
528 const BookmarkNode* node = model->AddURL(bar, bar->child_count(), | 528 const BookmarkNode* node = model->AddURL(bar, bar->child_count(), |
529 ASCIIToUTF16("title"), | 529 ASCIIToUTF16("title"), |
530 GURL("http://www.google.com")); | 530 GURL("http://www.google.com")); |
531 EXPECT_TRUE([noItemContainer isHidden]); | 531 EXPECT_TRUE([noItemContainer isHidden]); |
532 model->Remove(bar, bar->GetIndexOf(node)); | 532 model->Remove(node); |
533 EXPECT_FALSE([noItemContainer isHidden]); | 533 EXPECT_FALSE([noItemContainer isHidden]); |
534 | 534 |
535 // Now try it using a bookmark from the Other Bookmarks. | 535 // Now try it using a bookmark from the Other Bookmarks. |
536 const BookmarkNode* otherBookmarks = model->other_node(); | 536 const BookmarkNode* otherBookmarks = model->other_node(); |
537 node = model->AddURL(otherBookmarks, otherBookmarks->child_count(), | 537 node = model->AddURL(otherBookmarks, otherBookmarks->child_count(), |
538 ASCIIToUTF16("TheOther"), | 538 ASCIIToUTF16("TheOther"), |
539 GURL("http://www.other.com")); | 539 GURL("http://www.other.com")); |
540 EXPECT_FALSE([noItemContainer isHidden]); | 540 EXPECT_FALSE([noItemContainer isHidden]); |
541 // Move it from Other Bookmarks to the bar. | 541 // Move it from Other Bookmarks to the bar. |
542 model->Move(node, bar, 0); | 542 model->Move(node, bar, 0); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
575 // Open "off the side" menu. | 575 // Open "off the side" menu. |
576 [bar_ openOffTheSideFolderFromButton:offTheSideButton]; | 576 [bar_ openOffTheSideFolderFromButton:offTheSideButton]; |
577 BookmarkBarFolderController* bbfc = [bar_ folderController]; | 577 BookmarkBarFolderController* bbfc = [bar_ folderController]; |
578 EXPECT_TRUE(bbfc); | 578 EXPECT_TRUE(bbfc); |
579 [bbfc setIgnoreAnimations:YES]; | 579 [bbfc setIgnoreAnimations:YES]; |
580 while (!parent->empty()) { | 580 while (!parent->empty()) { |
581 // We've completed the job so we're done. | 581 // We've completed the job so we're done. |
582 if ([bar_ offTheSideButtonIsHidden]) | 582 if ([bar_ offTheSideButtonIsHidden]) |
583 break; | 583 break; |
584 // Delete the last button. | 584 // Delete the last button. |
585 model->Remove(parent, parent->child_count() - 1); | 585 model->Remove(parent->GetChild(parent->child_count() - 1)); |
586 // If last one make sure the menu is closed and the button is hidden. | 586 // If last one make sure the menu is closed and the button is hidden. |
587 // Else make sure menu stays open. | 587 // Else make sure menu stays open. |
588 if ([bar_ offTheSideButtonIsHidden]) { | 588 if ([bar_ offTheSideButtonIsHidden]) { |
589 EXPECT_FALSE([bar_ folderController]); | 589 EXPECT_FALSE([bar_ folderController]); |
590 } else { | 590 } else { |
591 EXPECT_TRUE([bar_ folderController]); | 591 EXPECT_TRUE([bar_ folderController]); |
592 } | 592 } |
593 } | 593 } |
594 } | 594 } |
595 | 595 |
(...skipping 30 matching lines...) Expand all Loading... |
626 // First we mouse-enter the button to make things harder. | 626 // First we mouse-enter the button to make things harder. |
627 NSArray* buttons = [bbfc buttons]; | 627 NSArray* buttons = [bbfc buttons]; |
628 for (BookmarkButton* button in buttons) { | 628 for (BookmarkButton* button in buttons) { |
629 if ([button bookmarkNode] == parent->GetChild(indices[i])) { | 629 if ([button bookmarkNode] == parent->GetChild(indices[i])) { |
630 [bbfc mouseEnteredButton:button event:nil]; | 630 [bbfc mouseEnteredButton:button event:nil]; |
631 break; | 631 break; |
632 } | 632 } |
633 } | 633 } |
634 // Then we remove the node. This triggers the button to get | 634 // Then we remove the node. This triggers the button to get |
635 // deleted. | 635 // deleted. |
636 model->Remove(parent, indices[i]); | 636 model->Remove(parent->GetChild(indices[i])); |
637 // Force visual update which is otherwise delayed. | 637 // Force visual update which is otherwise delayed. |
638 [[bbfc window] displayIfNeeded]; | 638 [[bbfc window] displayIfNeeded]; |
639 } | 639 } |
640 } | 640 } |
641 } | 641 } |
642 } | 642 } |
643 | 643 |
644 // Test whether |-dragShouldLockBarVisibility| returns NO iff the bar is | 644 // Test whether |-dragShouldLockBarVisibility| returns NO iff the bar is |
645 // detached. | 645 // detached. |
646 TEST_F(BookmarkBarControllerTest, TestDragShouldLockBarVisibility) { | 646 TEST_F(BookmarkBarControllerTest, TestDragShouldLockBarVisibility) { |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
796 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); | 796 BookmarkModel* model = BookmarkModelFactory::GetForProfile(profile()); |
797 EXPECT_EQ(0U, [[bar_ buttons] count]); | 797 EXPECT_EQ(0U, [[bar_ buttons] count]); |
798 // Add one; make sure we see it. | 798 // Add one; make sure we see it. |
799 const BookmarkNode* parent = model->bookmark_bar_node(); | 799 const BookmarkNode* parent = model->bookmark_bar_node(); |
800 model->AddURL(parent, parent->child_count(), | 800 model->AddURL(parent, parent->child_count(), |
801 ASCIIToUTF16("title"), GURL("http://www.google.com")); | 801 ASCIIToUTF16("title"), GURL("http://www.google.com")); |
802 EXPECT_EQ(1U, [[bar_ buttons] count]); | 802 EXPECT_EQ(1U, [[bar_ buttons] count]); |
803 | 803 |
804 // Add 30 which we expect to be 'too many'. Make sure we don't see | 804 // Add 30 which we expect to be 'too many'. Make sure we don't see |
805 // 30 buttons. | 805 // 30 buttons. |
806 model->Remove(parent, 0); | 806 model->Remove(parent->GetChild(0)); |
807 EXPECT_EQ(0U, [[bar_ buttons] count]); | 807 EXPECT_EQ(0U, [[bar_ buttons] count]); |
808 for (int i=0; i<30; i++) { | 808 for (int i=0; i<30; i++) { |
809 model->AddURL(parent, parent->child_count(), | 809 model->AddURL(parent, parent->child_count(), |
810 ASCIIToUTF16("title"), GURL("http://www.google.com")); | 810 ASCIIToUTF16("title"), GURL("http://www.google.com")); |
811 } | 811 } |
812 int count = [[bar_ buttons] count]; | 812 int count = [[bar_ buttons] count]; |
813 EXPECT_LT(count, 30L); | 813 EXPECT_LT(count, 30L); |
814 | 814 |
815 // Add 10 more (to the front of the list so the on-screen buttons | 815 // Add 10 more (to the front of the list so the on-screen buttons |
816 // would change) and make sure the count stays the same. | 816 // would change) and make sure the count stays the same. |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
885 const char* urls[] = { "https://secret.url.com", | 885 const char* urls[] = { "https://secret.url.com", |
886 "http://super.duper.web.site.for.doodz.gov", | 886 "http://super.duper.web.site.for.doodz.gov", |
887 "http://www.foo-bar-baz.com/" }; | 887 "http://www.foo-bar-baz.com/" }; |
888 const BookmarkNode* parent = model->bookmark_bar_node(); | 888 const BookmarkNode* parent = model->bookmark_bar_node(); |
889 for (unsigned int i = 0; i < arraysize(urls); i++) { | 889 for (unsigned int i = 0; i < arraysize(urls); i++) { |
890 model->AddURL(parent, parent->child_count(), | 890 model->AddURL(parent, parent->child_count(), |
891 ASCIIToUTF16("title"), GURL(urls[i])); | 891 ASCIIToUTF16("title"), GURL(urls[i])); |
892 } | 892 } |
893 EXPECT_EQ(3, parent->child_count()); | 893 EXPECT_EQ(3, parent->child_count()); |
894 const BookmarkNode* middle_node = parent->GetChild(1); | 894 const BookmarkNode* middle_node = parent->GetChild(1); |
895 model->Remove(middle_node->parent(), | 895 model->Remove(middle_node); |
896 middle_node->parent()->GetIndexOf(middle_node)); | |
897 | 896 |
898 EXPECT_EQ(2, parent->child_count()); | 897 EXPECT_EQ(2, parent->child_count()); |
899 EXPECT_EQ(parent->GetChild(0)->url(), GURL(urls[0])); | 898 EXPECT_EQ(parent->GetChild(0)->url(), GURL(urls[0])); |
900 // node 2 moved into spot 1 | 899 // node 2 moved into spot 1 |
901 EXPECT_EQ(parent->GetChild(1)->url(), GURL(urls[2])); | 900 EXPECT_EQ(parent->GetChild(1)->url(), GURL(urls[2])); |
902 } | 901 } |
903 | 902 |
904 // TODO(jrg): write a test to confirm that nodeFaviconLoaded calls | 903 // TODO(jrg): write a test to confirm that nodeFaviconLoaded calls |
905 // checkForBookmarkButtonGrowth:. | 904 // checkForBookmarkButtonGrowth:. |
906 | 905 |
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1365 for (BookmarkButton* barButton in barButtons) { | 1364 for (BookmarkButton* barButton in barButtons) { |
1366 if ([barButton superview]) { | 1365 if ([barButton superview]) { |
1367 EXPECT_NE([folderButton bookmarkNode], [barButton bookmarkNode]); | 1366 EXPECT_NE([folderButton bookmarkNode], [barButton bookmarkNode]); |
1368 } | 1367 } |
1369 } | 1368 } |
1370 } | 1369 } |
1371 | 1370 |
1372 // Delete a bookmark in the off-the-side and verify it's gone. | 1371 // Delete a bookmark in the off-the-side and verify it's gone. |
1373 BookmarkButton* button = [bbfc buttonWithTitleEqualTo:@"DELETE_ME"]; | 1372 BookmarkButton* button = [bbfc buttonWithTitleEqualTo:@"DELETE_ME"]; |
1374 EXPECT_TRUE(button); | 1373 EXPECT_TRUE(button); |
1375 model->Remove(parent, parent->child_count() - 2); | 1374 model->Remove(parent->GetChild(parent->child_count() - 2)); |
1376 button = [bbfc buttonWithTitleEqualTo:@"DELETE_ME"]; | 1375 button = [bbfc buttonWithTitleEqualTo:@"DELETE_ME"]; |
1377 EXPECT_FALSE(button); | 1376 EXPECT_FALSE(button); |
1378 } | 1377 } |
1379 | 1378 |
1380 TEST_F(BookmarkBarControllerTest, EventToExitCheck) { | 1379 TEST_F(BookmarkBarControllerTest, EventToExitCheck) { |
1381 NSEvent* event = cocoa_test_event_utils::MouseEventWithType(NSMouseMoved, 0); | 1380 NSEvent* event = cocoa_test_event_utils::MouseEventWithType(NSMouseMoved, 0); |
1382 EXPECT_FALSE([bar_ isEventAnExitEvent:event]); | 1381 EXPECT_FALSE([bar_ isEventAnExitEvent:event]); |
1383 | 1382 |
1384 BookmarkBarFolderWindow* folderWindow = [[[BookmarkBarFolderWindow alloc] | 1383 BookmarkBarFolderWindow* folderWindow = [[[BookmarkBarFolderWindow alloc] |
1385 init] autorelease]; | 1384 init] autorelease]; |
(...skipping 744 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2130 "2f3b ] 4b "); | 2129 "2f3b ] 4b "); |
2131 actual = bookmarks::test::ModelStringFromNode(root); | 2130 actual = bookmarks::test::ModelStringFromNode(root); |
2132 EXPECT_EQ(expected, actual); | 2131 EXPECT_EQ(expected, actual); |
2133 | 2132 |
2134 // Verify that the other bookmark folder can't be deleted. | 2133 // Verify that the other bookmark folder can't be deleted. |
2135 BookmarkButton *otherButton = [bar_ otherBookmarksButton]; | 2134 BookmarkButton *otherButton = [bar_ otherBookmarksButton]; |
2136 EXPECT_FALSE([bar_ canDragBookmarkButtonToTrash:otherButton]); | 2135 EXPECT_FALSE([bar_ canDragBookmarkButtonToTrash:otherButton]); |
2137 } | 2136 } |
2138 | 2137 |
2139 } // namespace | 2138 } // namespace |
OLD | NEW |