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

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

Issue 357005: Implement Bookmark All Tabs... using the BookmarkEditorController and determi... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 1 month 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 | Annotate | Revision Log
Property Changes:
Name: svn:eol-style
+ LF
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 #import <Cocoa/Cocoa.h>
6
7 #include "base/scoped_nsobject.h"
8 #include "base/sys_string_conversions.h"
9 #import "chrome/browser/cocoa/bookmark_editor_controller.h"
10 #include "chrome/browser/cocoa/browser_test_helper.h"
11 #import "chrome/browser/cocoa/cocoa_test_helper.h"
12 #include "testing/gtest/include/gtest/gtest.h"
13 #include "testing/platform_test.h"
14
15 class BookmarkEditorBaseControllerTest : public CocoaTest {
16 public:
17 CocoaTestHelper cocoa_helper_; // Inits Cocoa, creates window, etc...
18 BrowserTestHelper helper_;
19 BookmarkEditorBaseController* controller_;
20 const BookmarkNode* group_a_;
21 const BookmarkNode* group_b_;
22 const BookmarkNode* group_b_0_;
23 const BookmarkNode* group_b_3_;
24 const BookmarkNode* group_c_;
25
26 BookmarkEditorBaseControllerTest() {
27 // Set up a small bookmark hierarchy, which will look as follows:
28 // a b c d
29 // a-0 b-0 c-0
30 // a-1 b-00 c-1
31 // a-2 b-1 c-2
32 // b-2 c-3
33 // b-3
34 // b-30
35 // b-31
36 // b-4
37 BookmarkModel& model(*(helper_.profile()->GetBookmarkModel()));
38 const BookmarkNode* root = model.GetBookmarkBarNode();
39 group_a_ = model.AddGroup(root, 0, L"a");
40 model.AddURL(group_a_, 0, L"a-0", GURL("http://a-0.com"));
41 model.AddURL(group_a_, 1, L"a-1", GURL("http://a-1.com"));
42 model.AddURL(group_a_, 2, L"a-2", GURL("http://a-2.com"));
43
44 group_b_ = model.AddGroup(root, 1, L"b");
45 group_b_0_ = model.AddGroup(group_b_, 0, L"b-0");
46 model.AddURL(group_b_0_, 0, L"bb-0", GURL("http://bb-0.com"));
47 model.AddURL(group_b_, 1, L"b-1", GURL("http://b-1.com"));
48 model.AddURL(group_b_, 2, L"b-2", GURL("http://b-2.com"));
49 group_b_3_ = model.AddGroup(group_b_, 3, L"b-3");
50 model.AddURL(group_b_3_, 0, L"b-30", GURL("http://b-30.com"));
51 model.AddURL(group_b_3_, 1, L"b-31", GURL("http://b-31.com"));
52 model.AddURL(group_b_, 4, L"b-4", GURL("http://b-4.com"));
53
54 group_c_ = model.AddGroup(root, 2, L"c");
55 model.AddURL(group_c_, 0, L"c-0", GURL("http://c-0.com"));
56 model.AddURL(group_c_, 1, L"c-1", GURL("http://c-1.com"));
57 model.AddURL(group_c_, 2, L"c-2", GURL("http://c-2.com"));
58 model.AddURL(group_c_, 3, L"c-3", GURL("http://c-3.com"));
59
60 model.AddURL(root, 3, L"d", GURL("http://d-0.com"));
61 }
62
63 virtual BookmarkEditorBaseController* CreateController() {
64 return [[BookmarkEditorBaseController alloc]
65 initWithParentWindow:test_window()
66 nibName:@"BookmarkAllTabs"
67 profile:helper_.profile()
68 parent:group_b_0_
69 configuration:BookmarkEditor::SHOW_TREE
70 handler:nil];
71 }
72
73 virtual void SetUp() {
74 CocoaTest::SetUp();
75 controller_ = CreateController();
76 EXPECT_TRUE([controller_ window]);
77 }
78
79 virtual void TearDown() {
80 [controller_ close];
81 CocoaTest::TearDown();
82 }
83 };
84
85 TEST_F(BookmarkEditorBaseControllerTest, VerifyBookmarkTestModel) {
86 BookmarkModel& model(*(helper_.profile()->GetBookmarkModel()));
87 const BookmarkNode& root(*model.GetBookmarkBarNode());
88 EXPECT_EQ(4, root.GetChildCount());
89 // a
90 const BookmarkNode* child = root.GetChild(0);
91 EXPECT_EQ(3, child->GetChildCount());
92 const BookmarkNode* subchild = child->GetChild(0);
93 EXPECT_EQ(0, subchild->GetChildCount());
94 subchild = child->GetChild(1);
95 EXPECT_EQ(0, subchild->GetChildCount());
96 subchild = child->GetChild(2);
97 EXPECT_EQ(0, subchild->GetChildCount());
98 // b
99 child = root.GetChild(1);
100 EXPECT_EQ(5, child->GetChildCount());
101 subchild = child->GetChild(0);
102 EXPECT_EQ(1, subchild->GetChildCount());
103 const BookmarkNode* subsubchild = subchild->GetChild(0);
104 EXPECT_EQ(0, subsubchild->GetChildCount());
105 subchild = child->GetChild(1);
106 EXPECT_EQ(0, subchild->GetChildCount());
107 subchild = child->GetChild(2);
108 EXPECT_EQ(0, subchild->GetChildCount());
109 subchild = child->GetChild(3);
110 EXPECT_EQ(2, subchild->GetChildCount());
111 subsubchild = subchild->GetChild(0);
112 EXPECT_EQ(0, subsubchild->GetChildCount());
113 subsubchild = subchild->GetChild(1);
114 EXPECT_EQ(0, subsubchild->GetChildCount());
115 subchild = child->GetChild(4);
116 EXPECT_EQ(0, subchild->GetChildCount());
117 // c
118 child = root.GetChild(2);
119 EXPECT_EQ(4, child->GetChildCount());
120 subchild = child->GetChild(0);
121 EXPECT_EQ(0, subchild->GetChildCount());
122 subchild = child->GetChild(1);
123 EXPECT_EQ(0, subchild->GetChildCount());
124 subchild = child->GetChild(2);
125 EXPECT_EQ(0, subchild->GetChildCount());
126 subchild = child->GetChild(3);
127 EXPECT_EQ(0, subchild->GetChildCount());
128 // d
129 child = root.GetChild(3);
130 EXPECT_EQ(0, child->GetChildCount());
131 }
132
133 TEST_F(BookmarkEditorBaseControllerTest, FolderChildForParent) {
134 const BookmarkNode* child =
135 [BookmarkEditorBaseController folderChildForParent:group_b_
136 withFolderIndex:1];
137 EXPECT_EQ(child, group_b_3_);
138 }
139
140 TEST_F(BookmarkEditorBaseControllerTest, IndexOfFolderChild) {
141 int index = [BookmarkEditorBaseController indexOfFolderChild:group_b_3_];
142 EXPECT_EQ(index, 1);
143 }
144
145 TEST_F(BookmarkEditorBaseControllerTest, NodeSelection) {
146 [controller_ selectNodeInBrowser:group_b_3_];
147 const BookmarkNode* node = [controller_ selectedNode];
148 EXPECT_EQ(node, group_b_3_);
149 }
OLDNEW
« no previous file with comments | « chrome/browser/cocoa/bookmark_editor_base_controller.mm ('k') | chrome/browser/cocoa/bookmark_editor_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698