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

Side by Side Diff: chrome/browser/android/bookmarks/partner_bookmarks_shim_unittest.cc

Issue 2379863002: Fix object ownership in ui/base/models. (Closed)
Patch Set: fix Created 4 years, 2 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
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/android/bookmarks/partner_bookmarks_shim.h" 5 #include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/memory/ptr_util.h"
10 #include "base/strings/string16.h" 11 #include "base/strings/string16.h"
11 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
12 #include "chrome/browser/bookmarks/bookmark_model_factory.h" 13 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
13 #include "chrome/test/base/testing_profile.h" 14 #include "chrome/test/base/testing_profile.h"
14 #include "components/bookmarks/browser/bookmark_model.h" 15 #include "components/bookmarks/browser/bookmark_model.h"
15 #include "components/bookmarks/test/bookmark_test_helpers.h" 16 #include "components/bookmarks/test/bookmark_test_helpers.h"
16 #include "content/public/browser/browser_thread.h" 17 #include "content/public/browser/browser_thread.h"
17 #include "content/public/test/test_browser_thread.h" 18 #include "content/public/test/test_browser_thread.h"
18 #include "content/public/test/test_browser_thread_bundle.h" 19 #include "content/public/test/test_browser_thread_bundle.h"
19 #include "testing/gmock/include/gmock/gmock.h" 20 #include "testing/gmock/include/gmock/gmock.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 content::TestBrowserThreadBundle thread_bundle_; 82 content::TestBrowserThreadBundle thread_bundle_;
82 83
83 BookmarkModel* model_; 84 BookmarkModel* model_;
84 MockObserver observer_; 85 MockObserver observer_;
85 86
86 private: 87 private:
87 DISALLOW_COPY_AND_ASSIGN(PartnerBookmarksShimTest); 88 DISALLOW_COPY_AND_ASSIGN(PartnerBookmarksShimTest);
88 }; 89 };
89 90
90 TEST_F(PartnerBookmarksShimTest, GetNodeByID) { 91 TEST_F(PartnerBookmarksShimTest, GetNodeByID) {
91 BookmarkNode* root_partner_node = new BookmarkPermanentNode(0); 92 std::unique_ptr<BookmarkPermanentNode> root_partner_node =
92 BookmarkNode* partner_folder1 = new BookmarkNode(1, GURL()); 93 base::MakeUnique<BookmarkPermanentNode>(0);
94 BookmarkPermanentNode* root_partner_node_ptr = root_partner_node.get();
95 BookmarkNode* partner_folder1 =
96 root_partner_node->Add(base::MakeUnique<BookmarkNode>(1, GURL()),
97 root_partner_node->child_count());
93 partner_folder1->set_type(BookmarkNode::FOLDER); 98 partner_folder1->set_type(BookmarkNode::FOLDER);
94 root_partner_node->Add(partner_folder1, root_partner_node->child_count());
95 99
96 BookmarkNode* partner_folder2 = new BookmarkNode(2, GURL()); 100 BookmarkNode* partner_folder2 =
101 partner_folder1->Add(base::MakeUnique<BookmarkNode>(2, GURL()),
102 partner_folder1->child_count());
97 partner_folder2->set_type(BookmarkNode::FOLDER); 103 partner_folder2->set_type(BookmarkNode::FOLDER);
98 partner_folder1->Add(partner_folder2, partner_folder1->child_count());
99 104
100 BookmarkNode* partner_bookmark1 = new BookmarkNode(3, 105 BookmarkNode* partner_bookmark1 = partner_folder1->Add(
101 GURL("http://www.a.com")); 106 base::MakeUnique<BookmarkNode>(3, GURL("http://www.a.com")),
107 partner_folder1->child_count());
102 partner_bookmark1->set_type(BookmarkNode::URL); 108 partner_bookmark1->set_type(BookmarkNode::URL);
103 partner_folder1->Add(partner_bookmark1, partner_folder1->child_count());
104 109
105 BookmarkNode* partner_bookmark2 = new BookmarkNode(4, 110 BookmarkNode* partner_bookmark2 = partner_folder2->Add(
106 GURL("http://www.b.com")); 111 base::MakeUnique<BookmarkNode>(4, GURL("http://www.b.com")),
112 partner_folder2->child_count());
107 partner_bookmark2->set_type(BookmarkNode::URL); 113 partner_bookmark2->set_type(BookmarkNode::URL);
108 partner_folder2->Add(partner_bookmark2, partner_folder2->child_count());
109 114
110 PartnerBookmarksShim* shim = partner_bookmarks_shim(); 115 PartnerBookmarksShim* shim = partner_bookmarks_shim();
111 ASSERT_FALSE(shim->IsLoaded()); 116 ASSERT_FALSE(shim->IsLoaded());
112 shim->SetPartnerBookmarksRoot(root_partner_node); 117 shim->SetPartnerBookmarksRoot(std::move(root_partner_node));
113 ASSERT_TRUE(shim->IsLoaded()); 118 ASSERT_TRUE(shim->IsLoaded());
114 119
115 ASSERT_TRUE(shim->IsPartnerBookmark(root_partner_node)); 120 ASSERT_TRUE(shim->IsPartnerBookmark(root_partner_node_ptr));
116 ASSERT_EQ(shim->GetNodeByID(0), root_partner_node); 121 ASSERT_EQ(shim->GetNodeByID(0), root_partner_node_ptr);
117 ASSERT_EQ(shim->GetNodeByID(1), partner_folder1); 122 ASSERT_EQ(shim->GetNodeByID(1), partner_folder1);
118 ASSERT_EQ(shim->GetNodeByID(4), partner_bookmark2); 123 ASSERT_EQ(shim->GetNodeByID(4), partner_bookmark2);
119 } 124 }
120 125
121 TEST_F(PartnerBookmarksShimTest, ObserverNotifiedOfLoadNoPartnerBookmarks) { 126 TEST_F(PartnerBookmarksShimTest, ObserverNotifiedOfLoadNoPartnerBookmarks) {
122 EXPECT_CALL(observer_, PartnerShimLoaded(_)).Times(0); 127 EXPECT_CALL(observer_, PartnerShimLoaded(_)).Times(0);
123 PartnerBookmarksShim* shim = partner_bookmarks_shim(); 128 PartnerBookmarksShim* shim = partner_bookmarks_shim();
124 shim->AddObserver(&observer_); 129 shim->AddObserver(&observer_);
125 130
126 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); 131 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1);
127 shim->SetPartnerBookmarksRoot(NULL); 132 shim->SetPartnerBookmarksRoot(NULL);
128 } 133 }
129 134
130 TEST_F(PartnerBookmarksShimTest, ObserverNotifiedOfLoadWithPartnerBookmarks) { 135 TEST_F(PartnerBookmarksShimTest, ObserverNotifiedOfLoadWithPartnerBookmarks) {
131 EXPECT_CALL(observer_, PartnerShimLoaded(_)).Times(0); 136 EXPECT_CALL(observer_, PartnerShimLoaded(_)).Times(0);
132 int64_t id = 5; 137 int64_t id = 5;
133 BookmarkNode* root_partner_node = new BookmarkPermanentNode(id++); 138 std::unique_ptr<BookmarkPermanentNode> root_partner_node =
134 BookmarkNode* partner_bookmark1 = new BookmarkNode(id++, 139 base::MakeUnique<BookmarkPermanentNode>(id++);
135 GURL("http://www.a.com")); 140
141 BookmarkNode* partner_bookmark1 = root_partner_node->Add(
142 base::MakeUnique<BookmarkNode>(id++, GURL("http://www.a.com")),
143 root_partner_node->child_count());
136 partner_bookmark1->set_type(BookmarkNode::URL); 144 partner_bookmark1->set_type(BookmarkNode::URL);
137 root_partner_node->Add(partner_bookmark1, root_partner_node->child_count());
138 145
139 PartnerBookmarksShim* shim = partner_bookmarks_shim(); 146 PartnerBookmarksShim* shim = partner_bookmarks_shim();
140 shim->AddObserver(&observer_); 147 shim->AddObserver(&observer_);
141 148
142 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); 149 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1);
143 shim->SetPartnerBookmarksRoot(root_partner_node); 150 shim->SetPartnerBookmarksRoot(std::move(root_partner_node));
144 } 151 }
145 152
146 TEST_F(PartnerBookmarksShimTest, RemoveBookmarks) { 153 TEST_F(PartnerBookmarksShimTest, RemoveBookmarks) {
147 PartnerBookmarksShim* shim = partner_bookmarks_shim(); 154 PartnerBookmarksShim* shim = partner_bookmarks_shim();
148 shim->AddObserver(&observer_); 155 shim->AddObserver(&observer_);
149 156
150 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0); 157 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0);
151 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0); 158 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0);
152 159
153 BookmarkNode* root_partner_node = new BookmarkPermanentNode(0); 160 std::unique_ptr<BookmarkPermanentNode> root_partner_node =
161 base::MakeUnique<BookmarkPermanentNode>(0);
162 BookmarkPermanentNode* root_partner_node_ptr = root_partner_node.get();
154 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks")); 163 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks"));
155 164
156 BookmarkNode* partner_folder1 = new BookmarkNode(1, GURL("http://www.a.net")); 165 BookmarkNode* partner_folder1 = root_partner_node->Add(
166 base::MakeUnique<BookmarkNode>(1, GURL("http://www.a.net")),
167 root_partner_node->child_count());
157 partner_folder1->set_type(BookmarkNode::FOLDER); 168 partner_folder1->set_type(BookmarkNode::FOLDER);
158 root_partner_node->Add(partner_folder1, root_partner_node->child_count());
159 169
160 BookmarkNode* partner_folder2 = new BookmarkNode(2, GURL("http://www.b.net")); 170 BookmarkNode* partner_folder2 = root_partner_node->Add(
171 base::MakeUnique<BookmarkNode>(2, GURL("http://www.b.net")),
172 root_partner_node->child_count());
161 partner_folder2->set_type(BookmarkNode::FOLDER); 173 partner_folder2->set_type(BookmarkNode::FOLDER);
162 root_partner_node->Add(partner_folder2, root_partner_node->child_count());
163 174
164 BookmarkNode* partner_bookmark1 = new BookmarkNode(3, 175 BookmarkNode* partner_bookmark1 = partner_folder1->Add(
165 GURL("http://www.a.com")); 176 base::MakeUnique<BookmarkNode>(3, GURL("http://www.a.com")),
177 partner_folder1->child_count());
166 partner_bookmark1->set_type(BookmarkNode::URL); 178 partner_bookmark1->set_type(BookmarkNode::URL);
167 partner_folder1->Add(partner_bookmark1, partner_folder1->child_count());
168 179
169 BookmarkNode* partner_bookmark2 = new BookmarkNode(4, 180 BookmarkNode* partner_bookmark2 = partner_folder2->Add(
170 GURL("http://www.b.com")); 181 base::MakeUnique<BookmarkNode>(4, GURL("http://www.b.com")),
182 partner_folder2->child_count());
171 partner_bookmark2->set_type(BookmarkNode::URL); 183 partner_bookmark2->set_type(BookmarkNode::URL);
172 partner_folder2->Add(partner_bookmark2, partner_folder2->child_count());
173 184
174 BookmarkNode* partner_folder3 = new BookmarkNode(5, GURL("http://www.c.net")); 185 BookmarkNode* partner_folder3 = partner_folder2->Add(
186 base::MakeUnique<BookmarkNode>(5, GURL("http://www.c.net")),
187 partner_folder2->child_count());
175 partner_folder3->set_type(BookmarkNode::FOLDER); 188 partner_folder3->set_type(BookmarkNode::FOLDER);
176 partner_folder2->Add(partner_folder3, partner_folder2->child_count());
177 189
178 BookmarkNode* partner_bookmark3 = new BookmarkNode(6, 190 BookmarkNode* partner_bookmark3 = partner_folder3->Add(
179 GURL("http://www.c.com")); 191 base::MakeUnique<BookmarkNode>(6, GURL("http://www.c.com")),
192 partner_folder3->child_count());
180 partner_bookmark3->set_type(BookmarkNode::URL); 193 partner_bookmark3->set_type(BookmarkNode::URL);
181 partner_folder3->Add(partner_bookmark3, partner_folder3->child_count());
182 194
183 ASSERT_FALSE(shim->IsLoaded()); 195 ASSERT_FALSE(shim->IsLoaded());
184 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); 196 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1);
185 shim->SetPartnerBookmarksRoot(root_partner_node); 197 shim->SetPartnerBookmarksRoot(std::move(root_partner_node));
186 ASSERT_TRUE(shim->IsLoaded()); 198 ASSERT_TRUE(shim->IsLoaded());
187 199
188 EXPECT_EQ(root_partner_node, shim->GetNodeByID(0)); 200 EXPECT_EQ(root_partner_node_ptr, shim->GetNodeByID(0));
189 EXPECT_EQ(partner_folder1, shim->GetNodeByID(1)); 201 EXPECT_EQ(partner_folder1, shim->GetNodeByID(1));
190 EXPECT_EQ(partner_folder2, shim->GetNodeByID(2)); 202 EXPECT_EQ(partner_folder2, shim->GetNodeByID(2));
191 EXPECT_EQ(partner_bookmark1, shim->GetNodeByID(3)); 203 EXPECT_EQ(partner_bookmark1, shim->GetNodeByID(3));
192 EXPECT_EQ(partner_bookmark2, shim->GetNodeByID(4)); 204 EXPECT_EQ(partner_bookmark2, shim->GetNodeByID(4));
193 EXPECT_EQ(partner_folder3, shim->GetNodeByID(5)); 205 EXPECT_EQ(partner_folder3, shim->GetNodeByID(5));
194 EXPECT_EQ(partner_bookmark3, shim->GetNodeByID(6)); 206 EXPECT_EQ(partner_bookmark3, shim->GetNodeByID(6));
195 207
196 EXPECT_TRUE(shim->IsReachable(root_partner_node)); 208 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr));
197 EXPECT_TRUE(shim->IsReachable(partner_folder1)); 209 EXPECT_TRUE(shim->IsReachable(partner_folder1));
198 EXPECT_TRUE(shim->IsReachable(partner_folder2)); 210 EXPECT_TRUE(shim->IsReachable(partner_folder2));
199 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); 211 EXPECT_TRUE(shim->IsReachable(partner_bookmark1));
200 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); 212 EXPECT_TRUE(shim->IsReachable(partner_bookmark2));
201 EXPECT_TRUE(shim->IsReachable(partner_folder3)); 213 EXPECT_TRUE(shim->IsReachable(partner_folder3));
202 EXPECT_TRUE(shim->IsReachable(partner_bookmark3)); 214 EXPECT_TRUE(shim->IsReachable(partner_bookmark3));
203 215
204 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); 216 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1);
205 shim->RemoveBookmark(partner_bookmark2); 217 shim->RemoveBookmark(partner_bookmark2);
206 EXPECT_TRUE(shim->IsReachable(root_partner_node)); 218 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr));
207 EXPECT_TRUE(shim->IsReachable(partner_folder1)); 219 EXPECT_TRUE(shim->IsReachable(partner_folder1));
208 EXPECT_TRUE(shim->IsReachable(partner_folder2)); 220 EXPECT_TRUE(shim->IsReachable(partner_folder2));
209 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); 221 EXPECT_TRUE(shim->IsReachable(partner_bookmark1));
210 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); 222 EXPECT_FALSE(shim->IsReachable(partner_bookmark2));
211 EXPECT_TRUE(shim->IsReachable(partner_folder3)); 223 EXPECT_TRUE(shim->IsReachable(partner_folder3));
212 EXPECT_TRUE(shim->IsReachable(partner_bookmark3)); 224 EXPECT_TRUE(shim->IsReachable(partner_bookmark3));
213 225
214 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); 226 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1);
215 shim->RemoveBookmark(partner_folder1); 227 shim->RemoveBookmark(partner_folder1);
216 EXPECT_TRUE(shim->IsReachable(root_partner_node)); 228 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr));
217 EXPECT_FALSE(shim->IsReachable(partner_folder1)); 229 EXPECT_FALSE(shim->IsReachable(partner_folder1));
218 EXPECT_TRUE(shim->IsReachable(partner_folder2)); 230 EXPECT_TRUE(shim->IsReachable(partner_folder2));
219 EXPECT_FALSE(shim->IsReachable(partner_bookmark1)); 231 EXPECT_FALSE(shim->IsReachable(partner_bookmark1));
220 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); 232 EXPECT_FALSE(shim->IsReachable(partner_bookmark2));
221 EXPECT_TRUE(shim->IsReachable(partner_folder3)); 233 EXPECT_TRUE(shim->IsReachable(partner_folder3));
222 EXPECT_TRUE(shim->IsReachable(partner_bookmark3)); 234 EXPECT_TRUE(shim->IsReachable(partner_bookmark3));
223 235
224 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); 236 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1);
225 shim->RemoveBookmark(root_partner_node); 237 shim->RemoveBookmark(root_partner_node_ptr);
226 EXPECT_FALSE(shim->IsReachable(root_partner_node)); 238 EXPECT_FALSE(shim->IsReachable(root_partner_node_ptr));
227 EXPECT_FALSE(shim->IsReachable(partner_folder1)); 239 EXPECT_FALSE(shim->IsReachable(partner_folder1));
228 EXPECT_FALSE(shim->IsReachable(partner_folder2)); 240 EXPECT_FALSE(shim->IsReachable(partner_folder2));
229 EXPECT_FALSE(shim->IsReachable(partner_bookmark1)); 241 EXPECT_FALSE(shim->IsReachable(partner_bookmark1));
230 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); 242 EXPECT_FALSE(shim->IsReachable(partner_bookmark2));
231 EXPECT_FALSE(shim->IsReachable(partner_folder3)); 243 EXPECT_FALSE(shim->IsReachable(partner_folder3));
232 EXPECT_FALSE(shim->IsReachable(partner_bookmark3)); 244 EXPECT_FALSE(shim->IsReachable(partner_bookmark3));
233 } 245 }
234 246
235 TEST_F(PartnerBookmarksShimTest, RenameBookmarks) { 247 TEST_F(PartnerBookmarksShimTest, RenameBookmarks) {
236 PartnerBookmarksShim* shim = partner_bookmarks_shim(); 248 PartnerBookmarksShim* shim = partner_bookmarks_shim();
237 shim->AddObserver(&observer_); 249 shim->AddObserver(&observer_);
238 250
239 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0); 251 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0);
240 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0); 252 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0);
241 253
242 BookmarkNode* root_partner_node = new BookmarkPermanentNode(0); 254 std::unique_ptr<BookmarkPermanentNode> root_partner_node =
255 base::MakeUnique<BookmarkPermanentNode>(0);
256 BookmarkPermanentNode* root_partner_node_ptr = root_partner_node.get();
243 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks")); 257 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks"));
244 258
245 BookmarkNode* partner_folder1 = new BookmarkNode(1, GURL("http://www.a.net")); 259 BookmarkNode* partner_folder1 = root_partner_node->Add(
260 base::MakeUnique<BookmarkNode>(1, GURL("http://www.a.net")),
261 root_partner_node->child_count());
246 partner_folder1->set_type(BookmarkNode::FOLDER); 262 partner_folder1->set_type(BookmarkNode::FOLDER);
247 partner_folder1->SetTitle(base::ASCIIToUTF16("a.net")); 263 partner_folder1->SetTitle(base::ASCIIToUTF16("a.net"));
248 root_partner_node->Add(partner_folder1, root_partner_node->child_count());
249 264
250 BookmarkNode* partner_folder2 = new BookmarkNode(2, GURL("http://www.b.net")); 265 BookmarkNode* partner_folder2 = root_partner_node->Add(
266 base::MakeUnique<BookmarkNode>(2, GURL("http://www.b.net")),
267 root_partner_node->child_count());
251 partner_folder2->set_type(BookmarkNode::FOLDER); 268 partner_folder2->set_type(BookmarkNode::FOLDER);
252 partner_folder2->SetTitle(base::ASCIIToUTF16("b.net")); 269 partner_folder2->SetTitle(base::ASCIIToUTF16("b.net"));
253 root_partner_node->Add(partner_folder2, root_partner_node->child_count());
254 270
255 BookmarkNode* partner_bookmark1 = new BookmarkNode(3, 271 BookmarkNode* partner_bookmark1 = partner_folder1->Add(
256 GURL("http://www.a.com")); 272 base::MakeUnique<BookmarkNode>(3, GURL("http://www.a.com")),
273 partner_folder1->child_count());
257 partner_bookmark1->set_type(BookmarkNode::URL); 274 partner_bookmark1->set_type(BookmarkNode::URL);
258 partner_bookmark1->SetTitle(base::ASCIIToUTF16("a.com")); 275 partner_bookmark1->SetTitle(base::ASCIIToUTF16("a.com"));
259 partner_folder1->Add(partner_bookmark1, partner_folder1->child_count());
260 276
261 BookmarkNode* partner_bookmark2 = new BookmarkNode(4, 277 BookmarkNode* partner_bookmark2 = partner_folder2->Add(
262 GURL("http://www.b.com")); 278 base::MakeUnique<BookmarkNode>(4, GURL("http://www.b.com")),
279 partner_folder2->child_count());
263 partner_bookmark2->set_type(BookmarkNode::URL); 280 partner_bookmark2->set_type(BookmarkNode::URL);
264 partner_bookmark2->SetTitle(base::ASCIIToUTF16("b.com")); 281 partner_bookmark2->SetTitle(base::ASCIIToUTF16("b.com"));
265 partner_folder2->Add(partner_bookmark2, partner_folder2->child_count());
266 282
267 ASSERT_FALSE(shim->IsLoaded()); 283 ASSERT_FALSE(shim->IsLoaded());
268 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); 284 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1);
269 shim->SetPartnerBookmarksRoot(root_partner_node); 285 shim->SetPartnerBookmarksRoot(std::move(root_partner_node));
270 ASSERT_TRUE(shim->IsLoaded()); 286 ASSERT_TRUE(shim->IsLoaded());
271 287
272 EXPECT_EQ(root_partner_node, shim->GetNodeByID(0)); 288 EXPECT_EQ(root_partner_node_ptr, shim->GetNodeByID(0));
273 EXPECT_EQ(partner_folder1, shim->GetNodeByID(1)); 289 EXPECT_EQ(partner_folder1, shim->GetNodeByID(1));
274 EXPECT_EQ(partner_folder2, shim->GetNodeByID(2)); 290 EXPECT_EQ(partner_folder2, shim->GetNodeByID(2));
275 EXPECT_EQ(partner_bookmark1, shim->GetNodeByID(3)); 291 EXPECT_EQ(partner_bookmark1, shim->GetNodeByID(3));
276 EXPECT_EQ(partner_bookmark2, shim->GetNodeByID(4)); 292 EXPECT_EQ(partner_bookmark2, shim->GetNodeByID(4));
277 293
278 EXPECT_TRUE(shim->IsReachable(root_partner_node)); 294 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr));
279 EXPECT_TRUE(shim->IsReachable(partner_folder1)); 295 EXPECT_TRUE(shim->IsReachable(partner_folder1));
280 EXPECT_TRUE(shim->IsReachable(partner_folder2)); 296 EXPECT_TRUE(shim->IsReachable(partner_folder2));
281 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); 297 EXPECT_TRUE(shim->IsReachable(partner_bookmark1));
282 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); 298 EXPECT_TRUE(shim->IsReachable(partner_bookmark2));
283 299
284 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); 300 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1);
285 EXPECT_EQ(base::ASCIIToUTF16("b.com"), shim->GetTitle(partner_bookmark2)); 301 EXPECT_EQ(base::ASCIIToUTF16("b.com"), shim->GetTitle(partner_bookmark2));
286 shim->RenameBookmark(partner_bookmark2, base::ASCIIToUTF16("b2.com")); 302 shim->RenameBookmark(partner_bookmark2, base::ASCIIToUTF16("b2.com"));
287 EXPECT_EQ(base::ASCIIToUTF16("b2.com"), shim->GetTitle(partner_bookmark2)); 303 EXPECT_EQ(base::ASCIIToUTF16("b2.com"), shim->GetTitle(partner_bookmark2));
288 304
289 EXPECT_TRUE(shim->IsReachable(root_partner_node)); 305 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr));
290 EXPECT_TRUE(shim->IsReachable(partner_folder1)); 306 EXPECT_TRUE(shim->IsReachable(partner_folder1));
291 EXPECT_TRUE(shim->IsReachable(partner_folder2)); 307 EXPECT_TRUE(shim->IsReachable(partner_folder2));
292 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); 308 EXPECT_TRUE(shim->IsReachable(partner_bookmark1));
293 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); 309 EXPECT_TRUE(shim->IsReachable(partner_bookmark2));
294 310
295 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); 311 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1);
296 EXPECT_EQ(base::ASCIIToUTF16("a.net"), shim->GetTitle(partner_folder1)); 312 EXPECT_EQ(base::ASCIIToUTF16("a.net"), shim->GetTitle(partner_folder1));
297 shim->RenameBookmark(partner_folder1, base::ASCIIToUTF16("a2.net")); 313 shim->RenameBookmark(partner_folder1, base::ASCIIToUTF16("a2.net"));
298 EXPECT_EQ(base::ASCIIToUTF16("a2.net"), shim->GetTitle(partner_folder1)); 314 EXPECT_EQ(base::ASCIIToUTF16("a2.net"), shim->GetTitle(partner_folder1));
299 315
300 EXPECT_TRUE(shim->IsReachable(root_partner_node)); 316 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr));
301 EXPECT_TRUE(shim->IsReachable(partner_folder1)); 317 EXPECT_TRUE(shim->IsReachable(partner_folder1));
302 EXPECT_TRUE(shim->IsReachable(partner_folder2)); 318 EXPECT_TRUE(shim->IsReachable(partner_folder2));
303 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); 319 EXPECT_TRUE(shim->IsReachable(partner_bookmark1));
304 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); 320 EXPECT_TRUE(shim->IsReachable(partner_bookmark2));
305 321
306 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); 322 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1);
307 EXPECT_EQ(base::ASCIIToUTF16("Partner bookmarks"), 323 EXPECT_EQ(base::ASCIIToUTF16("Partner bookmarks"),
308 shim->GetTitle(root_partner_node)); 324 shim->GetTitle(root_partner_node_ptr));
309 shim->RenameBookmark(root_partner_node, base::ASCIIToUTF16("Partner")); 325 shim->RenameBookmark(root_partner_node_ptr, base::ASCIIToUTF16("Partner"));
310 EXPECT_EQ(base::ASCIIToUTF16("Partner"), shim->GetTitle(root_partner_node)); 326 EXPECT_EQ(base::ASCIIToUTF16("Partner"),
327 shim->GetTitle(root_partner_node_ptr));
311 328
312 EXPECT_TRUE(shim->IsReachable(root_partner_node)); 329 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr));
313 EXPECT_TRUE(shim->IsReachable(partner_folder1)); 330 EXPECT_TRUE(shim->IsReachable(partner_folder1));
314 EXPECT_TRUE(shim->IsReachable(partner_folder2)); 331 EXPECT_TRUE(shim->IsReachable(partner_folder2));
315 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); 332 EXPECT_TRUE(shim->IsReachable(partner_bookmark1));
316 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); 333 EXPECT_TRUE(shim->IsReachable(partner_bookmark2));
317 } 334 }
318 335
319 TEST_F(PartnerBookmarksShimTest, SaveLoadProfile) { 336 TEST_F(PartnerBookmarksShimTest, SaveLoadProfile) {
320 { 337 {
321 PartnerBookmarksShim* shim = partner_bookmarks_shim(); 338 PartnerBookmarksShim* shim = partner_bookmarks_shim();
322 shim->AddObserver(&observer_); 339 shim->AddObserver(&observer_);
323 340
324 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0); 341 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0);
325 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0); 342 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0);
326 343
327 BookmarkNode* root_partner_node = new BookmarkPermanentNode(0); 344 std::unique_ptr<BookmarkPermanentNode> root_partner_node =
345 base::MakeUnique<BookmarkPermanentNode>(0);
328 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks")); 346 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks"));
329 347
330 BookmarkNode* partner_folder1 = new BookmarkNode(1, GURL("http://a.net")); 348 BookmarkNode* partner_folder1 = root_partner_node->Add(
349 base::MakeUnique<BookmarkNode>(1, GURL("http://a.net")),
350 root_partner_node->child_count());
331 partner_folder1->set_type(BookmarkNode::FOLDER); 351 partner_folder1->set_type(BookmarkNode::FOLDER);
332 partner_folder1->SetTitle(base::ASCIIToUTF16("a.net")); 352 partner_folder1->SetTitle(base::ASCIIToUTF16("a.net"));
333 root_partner_node->Add(partner_folder1, root_partner_node->child_count());
334 353
335 BookmarkNode* partner_bookmark1 = new BookmarkNode(3, 354 BookmarkNode* partner_bookmark1 = partner_folder1->Add(
336 GURL("http://a.com")); 355 base::MakeUnique<BookmarkNode>(3, GURL("http://a.com")),
356 partner_folder1->child_count());
337 partner_bookmark1->set_type(BookmarkNode::URL); 357 partner_bookmark1->set_type(BookmarkNode::URL);
338 partner_bookmark1->SetTitle(base::ASCIIToUTF16("a.com")); 358 partner_bookmark1->SetTitle(base::ASCIIToUTF16("a.com"));
339 partner_folder1->Add(partner_bookmark1, partner_folder1->child_count());
340 359
341 BookmarkNode* partner_bookmark2 = new BookmarkNode(5, 360 BookmarkNode* partner_bookmark2 = partner_folder1->Add(
342 GURL("http://b.com")); 361 base::MakeUnique<BookmarkNode>(5, GURL("http://b.com")),
362 partner_folder1->child_count());
343 partner_bookmark2->set_type(BookmarkNode::URL); 363 partner_bookmark2->set_type(BookmarkNode::URL);
344 partner_bookmark2->SetTitle(base::ASCIIToUTF16("b.com")); 364 partner_bookmark2->SetTitle(base::ASCIIToUTF16("b.com"));
345 partner_folder1->Add(partner_bookmark2, partner_folder1->child_count());
346 365
347 ASSERT_FALSE(shim->IsLoaded()); 366 ASSERT_FALSE(shim->IsLoaded());
348 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); 367 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1);
349 shim->SetPartnerBookmarksRoot(root_partner_node); 368 shim->SetPartnerBookmarksRoot(std::move(root_partner_node));
350 ASSERT_TRUE(shim->IsLoaded()); 369 ASSERT_TRUE(shim->IsLoaded());
351 370
352 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(2); 371 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(2);
353 shim->RenameBookmark(partner_bookmark1, base::ASCIIToUTF16("a2.com")); 372 shim->RenameBookmark(partner_bookmark1, base::ASCIIToUTF16("a2.com"));
354 shim->RemoveBookmark(partner_bookmark2); 373 shim->RemoveBookmark(partner_bookmark2);
355 EXPECT_EQ(base::ASCIIToUTF16("a2.com"), shim->GetTitle(partner_bookmark1)); 374 EXPECT_EQ(base::ASCIIToUTF16("a2.com"), shim->GetTitle(partner_bookmark1));
356 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); 375 EXPECT_FALSE(shim->IsReachable(partner_bookmark2));
357 } 376 }
358 377
359 PartnerBookmarksShim::ClearInBrowserContextForTesting(profile_.get()); 378 PartnerBookmarksShim::ClearInBrowserContextForTesting(profile_.get());
(...skipping 14 matching lines...) Expand all
374 } 393 }
375 } 394 }
376 395
377 TEST_F(PartnerBookmarksShimTest, DisableEditing) { 396 TEST_F(PartnerBookmarksShimTest, DisableEditing) {
378 PartnerBookmarksShim* shim = partner_bookmarks_shim(); 397 PartnerBookmarksShim* shim = partner_bookmarks_shim();
379 shim->AddObserver(&observer_); 398 shim->AddObserver(&observer_);
380 399
381 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0); 400 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0);
382 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0); 401 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0);
383 402
384 BookmarkNode* root_partner_node = new BookmarkPermanentNode(0); 403 std::unique_ptr<BookmarkPermanentNode> root_partner_node =
404 base::MakeUnique<BookmarkPermanentNode>(0);
385 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks")); 405 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks"));
386 406
387 BookmarkNode* partner_bookmark1 = new BookmarkNode(3, GURL("http://a")); 407 BookmarkNode* partner_bookmark1 = root_partner_node->Add(
408 base::MakeUnique<BookmarkNode>(3, GURL("http://a")),
409 root_partner_node->child_count());
388 partner_bookmark1->set_type(BookmarkNode::URL); 410 partner_bookmark1->set_type(BookmarkNode::URL);
389 partner_bookmark1->SetTitle(base::ASCIIToUTF16("a")); 411 partner_bookmark1->SetTitle(base::ASCIIToUTF16("a"));
390 root_partner_node->Add(partner_bookmark1, root_partner_node->child_count());
391 412
392 BookmarkNode* partner_bookmark2 = new BookmarkNode(3, GURL("http://b")); 413 BookmarkNode* partner_bookmark2 = root_partner_node->Add(
414 base::MakeUnique<BookmarkNode>(3, GURL("http://b")),
415 root_partner_node->child_count());
393 partner_bookmark2->set_type(BookmarkNode::URL); 416 partner_bookmark2->set_type(BookmarkNode::URL);
394 partner_bookmark2->SetTitle(base::ASCIIToUTF16("b")); 417 partner_bookmark2->SetTitle(base::ASCIIToUTF16("b"));
395 root_partner_node->Add(partner_bookmark2, root_partner_node->child_count());
396 418
397 ASSERT_FALSE(shim->IsLoaded()); 419 ASSERT_FALSE(shim->IsLoaded());
398 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); 420 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1);
399 shim->SetPartnerBookmarksRoot(root_partner_node); 421 shim->SetPartnerBookmarksRoot(std::move(root_partner_node));
400 ASSERT_TRUE(shim->IsLoaded()); 422 ASSERT_TRUE(shim->IsLoaded());
401 423
402 // Check that edits work by default. 424 // Check that edits work by default.
403 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(2); 425 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(2);
404 shim->RenameBookmark(partner_bookmark1, base::ASCIIToUTF16("a2.com")); 426 shim->RenameBookmark(partner_bookmark1, base::ASCIIToUTF16("a2.com"));
405 shim->RemoveBookmark(partner_bookmark2); 427 shim->RemoveBookmark(partner_bookmark2);
406 EXPECT_EQ(base::ASCIIToUTF16("a2.com"), shim->GetTitle(partner_bookmark1)); 428 EXPECT_EQ(base::ASCIIToUTF16("a2.com"), shim->GetTitle(partner_bookmark1));
407 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); 429 EXPECT_FALSE(shim->IsReachable(partner_bookmark2));
408 430
409 // Disable edits and check that edits are not applied anymore. 431 // Disable edits and check that edits are not applied anymore.
410 PartnerBookmarksShim::DisablePartnerBookmarksEditing(); 432 PartnerBookmarksShim::DisablePartnerBookmarksEditing();
411 EXPECT_EQ(base::ASCIIToUTF16("a"), shim->GetTitle(partner_bookmark1)); 433 EXPECT_EQ(base::ASCIIToUTF16("a"), shim->GetTitle(partner_bookmark1));
412 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); 434 EXPECT_TRUE(shim->IsReachable(partner_bookmark2));
413 } 435 }
OLDNEW
« no previous file with comments | « chrome/browser/android/bookmarks/partner_bookmarks_shim.cc ('k') | chrome/browser/browsing_data/cookies_tree_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698