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

Side by Side Diff: chrome/browser/cocoa/bookmark_groups_controller_unittest.mm

Issue 501073: Native Cocoa bookmark manager, part 1 (Closed)
Patch Set: Style fixes, and copy/paste unit tests Created 10 years, 11 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
(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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698