OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "base/scoped_nsobject.h" |
| 6 #import "chrome/browser/cocoa/bookmark_groups_controller.h" |
| 7 #import "chrome/browser/cocoa/bookmark_manager_controller.h" |
| 8 #include "chrome/browser/cocoa/browser_test_helper.h" |
| 9 #import "chrome/browser/cocoa/cocoa_test_helper.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" |
| 11 #include "testing/platform_test.h" |
| 12 |
| 13 namespace { |
| 14 |
| 15 class BookmarkGroupsControllerTest : public CocoaTest { |
| 16 public: |
| 17 void SetUp() { |
| 18 CocoaTest::SetUp(); |
| 19 manager_ = [BookmarkManagerController showBookmarkManager: |
| 20 browser_test_helper_.profile()]; |
| 21 ASSERT_TRUE(manager_); |
| 22 controller_ = [manager_ groupsController]; |
| 23 ASSERT_TRUE(controller_); |
| 24 } |
| 25 |
| 26 void TearDown() { |
| 27 [manager_ close]; |
| 28 CocoaTest::TearDown(); |
| 29 } |
| 30 |
| 31 BrowserTestHelper browser_test_helper_; |
| 32 BookmarkManagerController* manager_; |
| 33 BookmarkGroupsController* controller_; |
| 34 }; |
| 35 |
| 36 TEST_F(BookmarkGroupsControllerTest, Model) { |
| 37 NSArray *groups = [controller_ groups]; |
| 38 ASSERT_TRUE(groups); |
| 39 // TODO(snej): Update this next assertion after I add Search and Recents. |
| 40 ASSERT_EQ(1U, [groups count]); |
| 41 id barItem = [groups objectAtIndex:0]; |
| 42 BookmarkModel* model = [manager_ bookmarkModel]; |
| 43 const BookmarkNode* barNode = model->GetBookmarkBarNode(); |
| 44 EXPECT_EQ(barNode, [manager_ nodeFromItem:barItem]); |
| 45 |
| 46 // Now add an item to Others: |
| 47 const BookmarkNode* otherNode = model->other_node(); |
| 48 const BookmarkNode* wowbagger = model->AddGroup(otherNode, 0, L"Wowbagger"); |
| 49 |
| 50 groups = [controller_ groups]; |
| 51 ASSERT_TRUE(groups); |
| 52 ASSERT_EQ(2U, [groups count]); |
| 53 id wowbaggerItem = [groups objectAtIndex:1]; |
| 54 EXPECT_EQ(wowbagger, [manager_ nodeFromItem:wowbaggerItem]); |
| 55 |
| 56 // Now remove it: |
| 57 model->Remove(otherNode, 0); |
| 58 |
| 59 groups = [controller_ groups]; |
| 60 ASSERT_TRUE(groups); |
| 61 ASSERT_EQ(1U, [groups count]); |
| 62 ASSERT_EQ(barItem, [groups objectAtIndex:0]); |
| 63 } |
| 64 |
| 65 TEST_F(BookmarkGroupsControllerTest, Selection) { |
| 66 // Select nothing: |
| 67 ASSERT_TRUE([controller_ groupsTable]); |
| 68 [controller_ setSelectedGroup:nil]; |
| 69 EXPECT_EQ(nil, [controller_ selectedGroup]); |
| 70 EXPECT_EQ(-1, [[controller_ groupsTable] selectedRow]); |
| 71 |
| 72 // Select bookmarks bar: |
| 73 id sel = [[controller_ groups] objectAtIndex:0]; |
| 74 [controller_ setSelectedGroup:sel]; |
| 75 EXPECT_EQ(sel, [controller_ selectedGroup]); |
| 76 EXPECT_EQ(0, [[controller_ groupsTable] selectedRow]); |
| 77 } |
| 78 |
| 79 } // namespace |
OLD | NEW |