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

Side by Side Diff: components/bookmarks/browser/bookmark_model_unittest.cc

Issue 568923004: Don't set metainfo ID for enhanced bookmarks extension (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Created 6 years, 3 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
« no previous file with comments | « components/bookmarks/browser/bookmark_model_observer.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/bookmarks/browser/bookmark_model.h" 5 #include "components/bookmarks/browser/bookmark_model.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 9
10 #include "base/base_paths.h" 10 #include "base/base_paths.h"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 152
153 virtual void BookmarkNodeMoved(BookmarkModel* model, 153 virtual void BookmarkNodeMoved(BookmarkModel* model,
154 const BookmarkNode* old_parent, 154 const BookmarkNode* old_parent,
155 int old_index, 155 int old_index,
156 const BookmarkNode* new_parent, 156 const BookmarkNode* new_parent,
157 int new_index) OVERRIDE { 157 int new_index) OVERRIDE {
158 ++moved_count_; 158 ++moved_count_;
159 observer_details_.Set(old_parent, new_parent, old_index, new_index); 159 observer_details_.Set(old_parent, new_parent, old_index, new_index);
160 } 160 }
161 161
162 virtual void OnWillAddBookmarkNode(BookmarkModel* model,
163 BookmarkNode* node) OVERRIDE {
164 ++will_add_count_;
165 EXPECT_TRUE(node->parent() == NULL);
166 }
167
168 virtual void BookmarkNodeAdded(BookmarkModel* model, 162 virtual void BookmarkNodeAdded(BookmarkModel* model,
169 const BookmarkNode* parent, 163 const BookmarkNode* parent,
170 int index) OVERRIDE { 164 int index) OVERRIDE {
171 ++added_count_; 165 ++added_count_;
172 observer_details_.Set(parent, NULL, index, -1); 166 observer_details_.Set(parent, NULL, index, -1);
173 } 167 }
174 168
175 virtual void OnWillRemoveBookmarks(BookmarkModel* model, 169 virtual void OnWillRemoveBookmarks(BookmarkModel* model,
176 const BookmarkNode* parent, 170 const BookmarkNode* parent,
177 int old_index, 171 int old_index,
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 BookmarkModel* model, 224 BookmarkModel* model,
231 const std::set<GURL>& removed_urls) OVERRIDE { 225 const std::set<GURL>& removed_urls) OVERRIDE {
232 ++all_bookmarks_removed_; 226 ++all_bookmarks_removed_;
233 } 227 }
234 228
235 virtual void OnWillRemoveAllUserBookmarks(BookmarkModel* model) OVERRIDE { 229 virtual void OnWillRemoveAllUserBookmarks(BookmarkModel* model) OVERRIDE {
236 ++before_remove_all_count_; 230 ++before_remove_all_count_;
237 } 231 }
238 232
239 void ClearCounts() { 233 void ClearCounts() {
240 will_add_count_ = added_count_ = moved_count_ = removed_count_ = 234 added_count_ = moved_count_ = removed_count_ = changed_count_ =
241 changed_count_ = reordered_count_ = extensive_changes_beginning_count_ = 235 reordered_count_ = extensive_changes_beginning_count_ =
242 extensive_changes_ended_count_ = all_bookmarks_removed_ = 236 extensive_changes_ended_count_ = all_bookmarks_removed_ =
243 before_remove_count_ = before_change_count_ = before_reorder_count_ = 237 before_remove_count_ = before_change_count_ = before_reorder_count_ =
244 before_remove_all_count_ = 0; 238 before_remove_all_count_ = 0;
245 } 239 }
246 240
247 void AssertObserverCount(int will_add_count, 241 void AssertObserverCount(int added_count,
248 int added_count,
249 int moved_count, 242 int moved_count,
250 int removed_count, 243 int removed_count,
251 int changed_count, 244 int changed_count,
252 int reordered_count, 245 int reordered_count,
253 int before_remove_count, 246 int before_remove_count,
254 int before_change_count, 247 int before_change_count,
255 int before_reorder_count, 248 int before_reorder_count,
256 int before_remove_all_count) { 249 int before_remove_all_count) {
257 EXPECT_EQ(will_add_count_, will_add_count);
258 EXPECT_EQ(added_count_, added_count); 250 EXPECT_EQ(added_count_, added_count);
259 EXPECT_EQ(moved_count_, moved_count); 251 EXPECT_EQ(moved_count_, moved_count);
260 EXPECT_EQ(removed_count_, removed_count); 252 EXPECT_EQ(removed_count_, removed_count);
261 EXPECT_EQ(changed_count_, changed_count); 253 EXPECT_EQ(changed_count_, changed_count);
262 EXPECT_EQ(reordered_count_, reordered_count); 254 EXPECT_EQ(reordered_count_, reordered_count);
263 EXPECT_EQ(before_remove_count_, before_remove_count); 255 EXPECT_EQ(before_remove_count_, before_remove_count);
264 EXPECT_EQ(before_change_count_, before_change_count); 256 EXPECT_EQ(before_change_count_, before_change_count);
265 EXPECT_EQ(before_reorder_count_, before_reorder_count); 257 EXPECT_EQ(before_reorder_count_, before_reorder_count);
266 EXPECT_EQ(before_remove_all_count_, before_remove_all_count); 258 EXPECT_EQ(before_remove_all_count_, before_remove_all_count);
267 } 259 }
(...skipping 24 matching lines...) Expand all
292 284
293 return extra_node; 285 return extra_node;
294 } 286 }
295 287
296 protected: 288 protected:
297 TestBookmarkClient client_; 289 TestBookmarkClient client_;
298 scoped_ptr<BookmarkModel> model_; 290 scoped_ptr<BookmarkModel> model_;
299 ObserverDetails observer_details_; 291 ObserverDetails observer_details_;
300 292
301 private: 293 private:
302 int will_add_count_;
303 int added_count_; 294 int added_count_;
304 int moved_count_; 295 int moved_count_;
305 int removed_count_; 296 int removed_count_;
306 int changed_count_; 297 int changed_count_;
307 int reordered_count_; 298 int reordered_count_;
308 int extensive_changes_beginning_count_; 299 int extensive_changes_beginning_count_;
309 int extensive_changes_ended_count_; 300 int extensive_changes_ended_count_;
310 int all_bookmarks_removed_; 301 int all_bookmarks_removed_;
311 int before_remove_count_; 302 int before_remove_count_;
312 int before_change_count_; 303 int before_change_count_;
(...skipping 23 matching lines...) Expand all
336 EXPECT_TRUE(bb_node->id() != mobile_node->id()); 327 EXPECT_TRUE(bb_node->id() != mobile_node->id());
337 EXPECT_TRUE(other_node->id() != mobile_node->id()); 328 EXPECT_TRUE(other_node->id() != mobile_node->id());
338 } 329 }
339 330
340 TEST_F(BookmarkModelTest, AddURL) { 331 TEST_F(BookmarkModelTest, AddURL) {
341 const BookmarkNode* root = model_->bookmark_bar_node(); 332 const BookmarkNode* root = model_->bookmark_bar_node();
342 const base::string16 title(ASCIIToUTF16("foo")); 333 const base::string16 title(ASCIIToUTF16("foo"));
343 const GURL url("http://foo.com"); 334 const GURL url("http://foo.com");
344 335
345 const BookmarkNode* new_node = model_->AddURL(root, 0, title, url); 336 const BookmarkNode* new_node = model_->AddURL(root, 0, title, url);
346 AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0); 337 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0);
347 observer_details_.ExpectEquals(root, NULL, 0, -1); 338 observer_details_.ExpectEquals(root, NULL, 0, -1);
348 339
349 ASSERT_EQ(1, root->child_count()); 340 ASSERT_EQ(1, root->child_count());
350 ASSERT_EQ(title, new_node->GetTitle()); 341 ASSERT_EQ(title, new_node->GetTitle());
351 ASSERT_TRUE(url == new_node->url()); 342 ASSERT_TRUE(url == new_node->url());
352 ASSERT_EQ(BookmarkNode::URL, new_node->type()); 343 ASSERT_EQ(BookmarkNode::URL, new_node->type());
353 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url)); 344 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url));
354 345
355 EXPECT_TRUE(new_node->id() != root->id() && 346 EXPECT_TRUE(new_node->id() != root->id() &&
356 new_node->id() != model_->other_node()->id() && 347 new_node->id() != model_->other_node()->id() &&
357 new_node->id() != model_->mobile_node()->id()); 348 new_node->id() != model_->mobile_node()->id());
358 } 349 }
359 350
360 TEST_F(BookmarkModelTest, AddURLWithUnicodeTitle) { 351 TEST_F(BookmarkModelTest, AddURLWithUnicodeTitle) {
361 const BookmarkNode* root = model_->bookmark_bar_node(); 352 const BookmarkNode* root = model_->bookmark_bar_node();
362 const base::string16 title(base::WideToUTF16( 353 const base::string16 title(base::WideToUTF16(
363 L"\u767e\u5ea6\u4e00\u4e0b\uff0c\u4f60\u5c31\u77e5\u9053")); 354 L"\u767e\u5ea6\u4e00\u4e0b\uff0c\u4f60\u5c31\u77e5\u9053"));
364 const GURL url("https://www.baidu.com/"); 355 const GURL url("https://www.baidu.com/");
365 356
366 const BookmarkNode* new_node = model_->AddURL(root, 0, title, url); 357 const BookmarkNode* new_node = model_->AddURL(root, 0, title, url);
367 AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0); 358 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0);
368 observer_details_.ExpectEquals(root, NULL, 0, -1); 359 observer_details_.ExpectEquals(root, NULL, 0, -1);
369 360
370 ASSERT_EQ(1, root->child_count()); 361 ASSERT_EQ(1, root->child_count());
371 ASSERT_EQ(title, new_node->GetTitle()); 362 ASSERT_EQ(title, new_node->GetTitle());
372 ASSERT_TRUE(url == new_node->url()); 363 ASSERT_TRUE(url == new_node->url());
373 ASSERT_EQ(BookmarkNode::URL, new_node->type()); 364 ASSERT_EQ(BookmarkNode::URL, new_node->type());
374 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url)); 365 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url));
375 366
376 EXPECT_TRUE(new_node->id() != root->id() && 367 EXPECT_TRUE(new_node->id() != root->id() &&
377 new_node->id() != model_->other_node()->id() && 368 new_node->id() != model_->other_node()->id() &&
(...skipping 20 matching lines...) Expand all
398 TEST_F(BookmarkModelTest, AddURLWithCreationTimeAndMetaInfo) { 389 TEST_F(BookmarkModelTest, AddURLWithCreationTimeAndMetaInfo) {
399 const BookmarkNode* root = model_->bookmark_bar_node(); 390 const BookmarkNode* root = model_->bookmark_bar_node();
400 const base::string16 title(ASCIIToUTF16("foo")); 391 const base::string16 title(ASCIIToUTF16("foo"));
401 const GURL url("http://foo.com"); 392 const GURL url("http://foo.com");
402 const Time time = Time::Now() - TimeDelta::FromDays(1); 393 const Time time = Time::Now() - TimeDelta::FromDays(1);
403 BookmarkNode::MetaInfoMap meta_info; 394 BookmarkNode::MetaInfoMap meta_info;
404 meta_info["foo"] = "bar"; 395 meta_info["foo"] = "bar";
405 396
406 const BookmarkNode* new_node = model_->AddURLWithCreationTimeAndMetaInfo( 397 const BookmarkNode* new_node = model_->AddURLWithCreationTimeAndMetaInfo(
407 root, 0, title, url, time, &meta_info); 398 root, 0, title, url, time, &meta_info);
408 AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0); 399 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0);
409 observer_details_.ExpectEquals(root, NULL, 0, -1); 400 observer_details_.ExpectEquals(root, NULL, 0, -1);
410 401
411 ASSERT_EQ(1, root->child_count()); 402 ASSERT_EQ(1, root->child_count());
412 ASSERT_EQ(title, new_node->GetTitle()); 403 ASSERT_EQ(title, new_node->GetTitle());
413 ASSERT_TRUE(url == new_node->url()); 404 ASSERT_TRUE(url == new_node->url());
414 ASSERT_EQ(BookmarkNode::URL, new_node->type()); 405 ASSERT_EQ(BookmarkNode::URL, new_node->type());
415 ASSERT_EQ(time, new_node->date_added()); 406 ASSERT_EQ(time, new_node->date_added());
416 ASSERT_TRUE(new_node->GetMetaInfoMap()); 407 ASSERT_TRUE(new_node->GetMetaInfoMap());
417 ASSERT_EQ(meta_info, *new_node->GetMetaInfoMap()); 408 ASSERT_EQ(meta_info, *new_node->GetMetaInfoMap());
418 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url)); 409 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url));
419 410
420 EXPECT_TRUE(new_node->id() != root->id() && 411 EXPECT_TRUE(new_node->id() != root->id() &&
421 new_node->id() != model_->other_node()->id() && 412 new_node->id() != model_->other_node()->id() &&
422 new_node->id() != model_->mobile_node()->id()); 413 new_node->id() != model_->mobile_node()->id());
423 } 414 }
424 415
425 TEST_F(BookmarkModelTest, AddURLToMobileBookmarks) { 416 TEST_F(BookmarkModelTest, AddURLToMobileBookmarks) {
426 const BookmarkNode* root = model_->mobile_node(); 417 const BookmarkNode* root = model_->mobile_node();
427 const base::string16 title(ASCIIToUTF16("foo")); 418 const base::string16 title(ASCIIToUTF16("foo"));
428 const GURL url("http://foo.com"); 419 const GURL url("http://foo.com");
429 420
430 const BookmarkNode* new_node = model_->AddURL(root, 0, title, url); 421 const BookmarkNode* new_node = model_->AddURL(root, 0, title, url);
431 AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0); 422 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0);
432 observer_details_.ExpectEquals(root, NULL, 0, -1); 423 observer_details_.ExpectEquals(root, NULL, 0, -1);
433 424
434 ASSERT_EQ(1, root->child_count()); 425 ASSERT_EQ(1, root->child_count());
435 ASSERT_EQ(title, new_node->GetTitle()); 426 ASSERT_EQ(title, new_node->GetTitle());
436 ASSERT_TRUE(url == new_node->url()); 427 ASSERT_TRUE(url == new_node->url());
437 ASSERT_EQ(BookmarkNode::URL, new_node->type()); 428 ASSERT_EQ(BookmarkNode::URL, new_node->type());
438 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url)); 429 ASSERT_TRUE(new_node == model_->GetMostRecentlyAddedUserNodeForURL(url));
439 430
440 EXPECT_TRUE(new_node->id() != root->id() && 431 EXPECT_TRUE(new_node->id() != root->id() &&
441 new_node->id() != model_->other_node()->id() && 432 new_node->id() != model_->other_node()->id() &&
442 new_node->id() != model_->mobile_node()->id()); 433 new_node->id() != model_->mobile_node()->id());
443 } 434 }
444 435
445 TEST_F(BookmarkModelTest, AddFolder) { 436 TEST_F(BookmarkModelTest, AddFolder) {
446 const BookmarkNode* root = model_->bookmark_bar_node(); 437 const BookmarkNode* root = model_->bookmark_bar_node();
447 const base::string16 title(ASCIIToUTF16("foo")); 438 const base::string16 title(ASCIIToUTF16("foo"));
448 439
449 const BookmarkNode* new_node = model_->AddFolder(root, 0, title); 440 const BookmarkNode* new_node = model_->AddFolder(root, 0, title);
450 AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0); 441 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0);
451 observer_details_.ExpectEquals(root, NULL, 0, -1); 442 observer_details_.ExpectEquals(root, NULL, 0, -1);
452 443
453 ASSERT_EQ(1, root->child_count()); 444 ASSERT_EQ(1, root->child_count());
454 ASSERT_EQ(title, new_node->GetTitle()); 445 ASSERT_EQ(title, new_node->GetTitle());
455 ASSERT_EQ(BookmarkNode::FOLDER, new_node->type()); 446 ASSERT_EQ(BookmarkNode::FOLDER, new_node->type());
456 447
457 EXPECT_TRUE(new_node->id() != root->id() && 448 EXPECT_TRUE(new_node->id() != root->id() &&
458 new_node->id() != model_->other_node()->id() && 449 new_node->id() != model_->other_node()->id() &&
459 new_node->id() != model_->mobile_node()->id()); 450 new_node->id() != model_->mobile_node()->id());
460 451
461 // Add another folder, just to make sure folder_ids are incremented correctly. 452 // Add another folder, just to make sure folder_ids are incremented correctly.
462 ClearCounts(); 453 ClearCounts();
463 model_->AddFolder(root, 0, title); 454 model_->AddFolder(root, 0, title);
464 AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0); 455 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0);
465 observer_details_.ExpectEquals(root, NULL, 0, -1); 456 observer_details_.ExpectEquals(root, NULL, 0, -1);
466 } 457 }
467 458
468 TEST_F(BookmarkModelTest, AddFolderWithWhitespaceTitle) { 459 TEST_F(BookmarkModelTest, AddFolderWithWhitespaceTitle) {
469 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(title_whitespace_test_cases); ++i) { 460 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(title_whitespace_test_cases); ++i) {
470 const BookmarkNode* root = model_->bookmark_bar_node(); 461 const BookmarkNode* root = model_->bookmark_bar_node();
471 const base::string16 title( 462 const base::string16 title(
472 ASCIIToUTF16(title_whitespace_test_cases[i].input_title)); 463 ASCIIToUTF16(title_whitespace_test_cases[i].input_title));
473 464
474 const BookmarkNode* new_node = model_->AddFolder(root, i, title); 465 const BookmarkNode* new_node = model_->AddFolder(root, i, title);
475 466
476 int size = i + 1; 467 int size = i + 1;
477 EXPECT_EQ(size, root->child_count()); 468 EXPECT_EQ(size, root->child_count());
478 EXPECT_EQ(ASCIIToUTF16(title_whitespace_test_cases[i].expected_title), 469 EXPECT_EQ(ASCIIToUTF16(title_whitespace_test_cases[i].expected_title),
479 new_node->GetTitle()); 470 new_node->GetTitle());
480 EXPECT_EQ(BookmarkNode::FOLDER, new_node->type()); 471 EXPECT_EQ(BookmarkNode::FOLDER, new_node->type());
481 } 472 }
482 } 473 }
483 474
484 TEST_F(BookmarkModelTest, RemoveURL) { 475 TEST_F(BookmarkModelTest, RemoveURL) {
485 const BookmarkNode* root = model_->bookmark_bar_node(); 476 const BookmarkNode* root = model_->bookmark_bar_node();
486 const base::string16 title(ASCIIToUTF16("foo")); 477 const base::string16 title(ASCIIToUTF16("foo"));
487 const GURL url("http://foo.com"); 478 const GURL url("http://foo.com");
488 model_->AddURL(root, 0, title, url); 479 model_->AddURL(root, 0, title, url);
489 ClearCounts(); 480 ClearCounts();
490 481
491 model_->Remove(root, 0); 482 model_->Remove(root, 0);
492 ASSERT_EQ(0, root->child_count()); 483 ASSERT_EQ(0, root->child_count());
493 AssertObserverCount(0, 0, 0, 1, 0, 0, 1, 0, 0, 0); 484 AssertObserverCount(0, 0, 1, 0, 0, 1, 0, 0, 0);
494 observer_details_.ExpectEquals(root, NULL, 0, -1); 485 observer_details_.ExpectEquals(root, NULL, 0, -1);
495 486
496 // Make sure there is no mapping for the URL. 487 // Make sure there is no mapping for the URL.
497 ASSERT_TRUE(model_->GetMostRecentlyAddedUserNodeForURL(url) == NULL); 488 ASSERT_TRUE(model_->GetMostRecentlyAddedUserNodeForURL(url) == NULL);
498 } 489 }
499 490
500 TEST_F(BookmarkModelTest, RemoveFolder) { 491 TEST_F(BookmarkModelTest, RemoveFolder) {
501 const BookmarkNode* root = model_->bookmark_bar_node(); 492 const BookmarkNode* root = model_->bookmark_bar_node();
502 const BookmarkNode* folder = model_->AddFolder(root, 0, ASCIIToUTF16("foo")); 493 const BookmarkNode* folder = model_->AddFolder(root, 0, ASCIIToUTF16("foo"));
503 494
504 ClearCounts(); 495 ClearCounts();
505 496
506 // Add a URL as a child. 497 // Add a URL as a child.
507 const base::string16 title(ASCIIToUTF16("foo")); 498 const base::string16 title(ASCIIToUTF16("foo"));
508 const GURL url("http://foo.com"); 499 const GURL url("http://foo.com");
509 model_->AddURL(folder, 0, title, url); 500 model_->AddURL(folder, 0, title, url);
510 501
511 ClearCounts(); 502 ClearCounts();
512 503
513 // Now remove the folder. 504 // Now remove the folder.
514 model_->Remove(root, 0); 505 model_->Remove(root, 0);
515 ASSERT_EQ(0, root->child_count()); 506 ASSERT_EQ(0, root->child_count());
516 AssertObserverCount(0, 0, 0, 1, 0, 0, 1, 0, 0, 0); 507 AssertObserverCount(0, 0, 1, 0, 0, 1, 0, 0, 0);
517 observer_details_.ExpectEquals(root, NULL, 0, -1); 508 observer_details_.ExpectEquals(root, NULL, 0, -1);
518 509
519 // Make sure there is no mapping for the URL. 510 // Make sure there is no mapping for the URL.
520 ASSERT_TRUE(model_->GetMostRecentlyAddedUserNodeForURL(url) == NULL); 511 ASSERT_TRUE(model_->GetMostRecentlyAddedUserNodeForURL(url) == NULL);
521 } 512 }
522 513
523 TEST_F(BookmarkModelTest, RemoveAllUserBookmarks) { 514 TEST_F(BookmarkModelTest, RemoveAllUserBookmarks) {
524 const BookmarkNode* bookmark_bar_node = model_->bookmark_bar_node(); 515 const BookmarkNode* bookmark_bar_node = model_->bookmark_bar_node();
525 516
526 ClearCounts(); 517 ClearCounts();
527 518
528 // Add a url to bookmark bar. 519 // Add a url to bookmark bar.
529 base::string16 title(ASCIIToUTF16("foo")); 520 base::string16 title(ASCIIToUTF16("foo"));
530 GURL url("http://foo.com"); 521 GURL url("http://foo.com");
531 model_->AddURL(bookmark_bar_node, 0, title, url); 522 model_->AddURL(bookmark_bar_node, 0, title, url);
532 523
533 // Add a folder with child URL. 524 // Add a folder with child URL.
534 const BookmarkNode* folder = model_->AddFolder(bookmark_bar_node, 0, title); 525 const BookmarkNode* folder = model_->AddFolder(bookmark_bar_node, 0, title);
535 model_->AddURL(folder, 0, title, url); 526 model_->AddURL(folder, 0, title, url);
536 527
537 AssertObserverCount(3, 3, 0, 0, 0, 0, 0, 0, 0, 0); 528 AssertObserverCount(3, 0, 0, 0, 0, 0, 0, 0, 0);
538 ClearCounts(); 529 ClearCounts();
539 530
540 model_->RemoveAllUserBookmarks(); 531 model_->RemoveAllUserBookmarks();
541 532
542 EXPECT_EQ(0, bookmark_bar_node->child_count()); 533 EXPECT_EQ(0, bookmark_bar_node->child_count());
543 // No individual BookmarkNodeRemoved events are fired, so removed count 534 // No individual BookmarkNodeRemoved events are fired, so removed count
544 // should be 0. 535 // should be 0.
545 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 0, 1); 536 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 1);
546 AssertExtensiveChangesObserverCount(1, 1); 537 AssertExtensiveChangesObserverCount(1, 1);
547 EXPECT_EQ(1, AllNodesRemovedObserverCount()); 538 EXPECT_EQ(1, AllNodesRemovedObserverCount());
548 } 539 }
549 540
550 TEST_F(BookmarkModelTest, SetTitle) { 541 TEST_F(BookmarkModelTest, SetTitle) {
551 const BookmarkNode* root = model_->bookmark_bar_node(); 542 const BookmarkNode* root = model_->bookmark_bar_node();
552 base::string16 title(ASCIIToUTF16("foo")); 543 base::string16 title(ASCIIToUTF16("foo"));
553 const GURL url("http://foo.com"); 544 const GURL url("http://foo.com");
554 const BookmarkNode* node = model_->AddURL(root, 0, title, url); 545 const BookmarkNode* node = model_->AddURL(root, 0, title, url);
555 546
556 ClearCounts(); 547 ClearCounts();
557 548
558 title = ASCIIToUTF16("foo2"); 549 title = ASCIIToUTF16("foo2");
559 model_->SetTitle(node, title); 550 model_->SetTitle(node, title);
560 AssertObserverCount(0, 0, 0, 0, 1, 0, 0, 1, 0, 0); 551 AssertObserverCount(0, 0, 0, 1, 0, 0, 1, 0, 0);
561 observer_details_.ExpectEquals(node, NULL, -1, -1); 552 observer_details_.ExpectEquals(node, NULL, -1, -1);
562 EXPECT_EQ(title, node->GetTitle()); 553 EXPECT_EQ(title, node->GetTitle());
563 } 554 }
564 555
565 TEST_F(BookmarkModelTest, SetTitleWithWhitespace) { 556 TEST_F(BookmarkModelTest, SetTitleWithWhitespace) {
566 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(title_whitespace_test_cases); ++i) { 557 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(title_whitespace_test_cases); ++i) {
567 const BookmarkNode* root = model_->bookmark_bar_node(); 558 const BookmarkNode* root = model_->bookmark_bar_node();
568 base::string16 title(ASCIIToUTF16("dummy")); 559 base::string16 title(ASCIIToUTF16("dummy"));
569 const GURL url("http://foo.com"); 560 const GURL url("http://foo.com");
570 const BookmarkNode* node = model_->AddURL(root, 0, title, url); 561 const BookmarkNode* node = model_->AddURL(root, 0, title, url);
571 562
572 title = ASCIIToUTF16(title_whitespace_test_cases[i].input_title); 563 title = ASCIIToUTF16(title_whitespace_test_cases[i].input_title);
573 model_->SetTitle(node, title); 564 model_->SetTitle(node, title);
574 EXPECT_EQ(ASCIIToUTF16(title_whitespace_test_cases[i].expected_title), 565 EXPECT_EQ(ASCIIToUTF16(title_whitespace_test_cases[i].expected_title),
575 node->GetTitle()); 566 node->GetTitle());
576 } 567 }
577 } 568 }
578 569
579 TEST_F(BookmarkModelTest, SetURL) { 570 TEST_F(BookmarkModelTest, SetURL) {
580 const BookmarkNode* root = model_->bookmark_bar_node(); 571 const BookmarkNode* root = model_->bookmark_bar_node();
581 const base::string16 title(ASCIIToUTF16("foo")); 572 const base::string16 title(ASCIIToUTF16("foo"));
582 GURL url("http://foo.com"); 573 GURL url("http://foo.com");
583 const BookmarkNode* node = model_->AddURL(root, 0, title, url); 574 const BookmarkNode* node = model_->AddURL(root, 0, title, url);
584 575
585 ClearCounts(); 576 ClearCounts();
586 577
587 url = GURL("http://foo2.com"); 578 url = GURL("http://foo2.com");
588 model_->SetURL(node, url); 579 model_->SetURL(node, url);
589 AssertObserverCount(0, 0, 0, 0, 1, 0, 0, 1, 0, 0); 580 AssertObserverCount(0, 0, 0, 1, 0, 0, 1, 0, 0);
590 observer_details_.ExpectEquals(node, NULL, -1, -1); 581 observer_details_.ExpectEquals(node, NULL, -1, -1);
591 EXPECT_EQ(url, node->url()); 582 EXPECT_EQ(url, node->url());
592 } 583 }
593 584
594 TEST_F(BookmarkModelTest, SetDateAdded) { 585 TEST_F(BookmarkModelTest, SetDateAdded) {
595 const BookmarkNode* root = model_->bookmark_bar_node(); 586 const BookmarkNode* root = model_->bookmark_bar_node();
596 const base::string16 title(ASCIIToUTF16("foo")); 587 const base::string16 title(ASCIIToUTF16("foo"));
597 GURL url("http://foo.com"); 588 GURL url("http://foo.com");
598 const BookmarkNode* node = model_->AddURL(root, 0, title, url); 589 const BookmarkNode* node = model_->AddURL(root, 0, title, url);
599 590
600 ClearCounts(); 591 ClearCounts();
601 592
602 base::Time new_time = base::Time::Now() + base::TimeDelta::FromMinutes(20); 593 base::Time new_time = base::Time::Now() + base::TimeDelta::FromMinutes(20);
603 model_->SetDateAdded(node, new_time); 594 model_->SetDateAdded(node, new_time);
604 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 0, 0); 595 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 0);
605 EXPECT_EQ(new_time, node->date_added()); 596 EXPECT_EQ(new_time, node->date_added());
606 EXPECT_EQ(new_time, model_->bookmark_bar_node()->date_folder_modified()); 597 EXPECT_EQ(new_time, model_->bookmark_bar_node()->date_folder_modified());
607 } 598 }
608 599
609 TEST_F(BookmarkModelTest, Move) { 600 TEST_F(BookmarkModelTest, Move) {
610 const BookmarkNode* root = model_->bookmark_bar_node(); 601 const BookmarkNode* root = model_->bookmark_bar_node();
611 const base::string16 title(ASCIIToUTF16("foo")); 602 const base::string16 title(ASCIIToUTF16("foo"));
612 const GURL url("http://foo.com"); 603 const GURL url("http://foo.com");
613 const BookmarkNode* node = model_->AddURL(root, 0, title, url); 604 const BookmarkNode* node = model_->AddURL(root, 0, title, url);
614 const BookmarkNode* folder1 = model_->AddFolder(root, 0, ASCIIToUTF16("foo")); 605 const BookmarkNode* folder1 = model_->AddFolder(root, 0, ASCIIToUTF16("foo"));
615 ClearCounts(); 606 ClearCounts();
616 607
617 model_->Move(node, folder1, 0); 608 model_->Move(node, folder1, 0);
618 609
619 AssertObserverCount(0, 0, 1, 0, 0, 0, 0, 0, 0, 0); 610 AssertObserverCount(0, 1, 0, 0, 0, 0, 0, 0, 0);
620 observer_details_.ExpectEquals(root, folder1, 1, 0); 611 observer_details_.ExpectEquals(root, folder1, 1, 0);
621 EXPECT_TRUE(folder1 == node->parent()); 612 EXPECT_TRUE(folder1 == node->parent());
622 EXPECT_EQ(1, root->child_count()); 613 EXPECT_EQ(1, root->child_count());
623 EXPECT_EQ(folder1, root->GetChild(0)); 614 EXPECT_EQ(folder1, root->GetChild(0));
624 EXPECT_EQ(1, folder1->child_count()); 615 EXPECT_EQ(1, folder1->child_count());
625 EXPECT_EQ(node, folder1->GetChild(0)); 616 EXPECT_EQ(node, folder1->GetChild(0));
626 617
627 // And remove the folder. 618 // And remove the folder.
628 ClearCounts(); 619 ClearCounts();
629 model_->Remove(root, 0); 620 model_->Remove(root, 0);
630 AssertObserverCount(0, 0, 0, 1, 0, 0, 1, 0, 0, 0); 621 AssertObserverCount(0, 0, 1, 0, 0, 1, 0, 0, 0);
631 observer_details_.ExpectEquals(root, NULL, 0, -1); 622 observer_details_.ExpectEquals(root, NULL, 0, -1);
632 EXPECT_TRUE(model_->GetMostRecentlyAddedUserNodeForURL(url) == NULL); 623 EXPECT_TRUE(model_->GetMostRecentlyAddedUserNodeForURL(url) == NULL);
633 EXPECT_EQ(0, root->child_count()); 624 EXPECT_EQ(0, root->child_count());
634 } 625 }
635 626
636 TEST_F(BookmarkModelTest, NonMovingMoveCall) { 627 TEST_F(BookmarkModelTest, NonMovingMoveCall) {
637 const BookmarkNode* root = model_->bookmark_bar_node(); 628 const BookmarkNode* root = model_->bookmark_bar_node();
638 const base::string16 title(ASCIIToUTF16("foo")); 629 const base::string16 title(ASCIIToUTF16("foo"));
639 const GURL url("http://foo.com"); 630 const GURL url("http://foo.com");
640 const base::Time old_date(base::Time::Now() - base::TimeDelta::FromDays(1)); 631 const base::Time old_date(base::Time::Now() - base::TimeDelta::FromDays(1));
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
1014 BookmarkNode* child3 = AsMutable(parent->GetChild(3)); 1005 BookmarkNode* child3 = AsMutable(parent->GetChild(3));
1015 child3->SetTitle(ASCIIToUTF16("C")); 1006 child3->SetTitle(ASCIIToUTF16("C"));
1016 delete child3->Remove(child3->GetChild(0)); 1007 delete child3->Remove(child3->GetChild(0));
1017 1008
1018 ClearCounts(); 1009 ClearCounts();
1019 1010
1020 // Sort the children of the bookmark bar node. 1011 // Sort the children of the bookmark bar node.
1021 model_->SortChildren(parent); 1012 model_->SortChildren(parent);
1022 1013
1023 // Make sure we were notified. 1014 // Make sure we were notified.
1024 AssertObserverCount(0, 0, 0, 0, 0, 1, 0, 0, 1, 0); 1015 AssertObserverCount(0, 0, 0, 0, 1, 0, 0, 1, 0);
1025 1016
1026 // Make sure the order matches (remember, 'a' and 'C' are folders and 1017 // Make sure the order matches (remember, 'a' and 'C' are folders and
1027 // come first). 1018 // come first).
1028 EXPECT_EQ(parent->GetChild(0)->GetTitle(), ASCIIToUTF16("a")); 1019 EXPECT_EQ(parent->GetChild(0)->GetTitle(), ASCIIToUTF16("a"));
1029 EXPECT_EQ(parent->GetChild(1)->GetTitle(), ASCIIToUTF16("C")); 1020 EXPECT_EQ(parent->GetChild(1)->GetTitle(), ASCIIToUTF16("C"));
1030 EXPECT_EQ(parent->GetChild(2)->GetTitle(), ASCIIToUTF16("B")); 1021 EXPECT_EQ(parent->GetChild(2)->GetTitle(), ASCIIToUTF16("B"));
1031 EXPECT_EQ(parent->GetChild(3)->GetTitle(), ASCIIToUTF16("d")); 1022 EXPECT_EQ(parent->GetChild(3)->GetTitle(), ASCIIToUTF16("d"));
1032 } 1023 }
1033 1024
1034 TEST_F(BookmarkModelTest, Reorder) { 1025 TEST_F(BookmarkModelTest, Reorder) {
1035 // Populate the bookmark bar node with nodes 'A', 'B', 'C' and 'D'. 1026 // Populate the bookmark bar node with nodes 'A', 'B', 'C' and 'D'.
1036 TestNode bbn; 1027 TestNode bbn;
1037 PopulateNodeFromString("A B C D", &bbn); 1028 PopulateNodeFromString("A B C D", &bbn);
1038 BookmarkNode* parent = AsMutable(model_->bookmark_bar_node()); 1029 BookmarkNode* parent = AsMutable(model_->bookmark_bar_node());
1039 PopulateBookmarkNode(&bbn, model_.get(), parent); 1030 PopulateBookmarkNode(&bbn, model_.get(), parent);
1040 1031
1041 ClearCounts(); 1032 ClearCounts();
1042 1033
1043 // Reorder bar node's bookmarks in reverse order. 1034 // Reorder bar node's bookmarks in reverse order.
1044 std::vector<const BookmarkNode*> new_order; 1035 std::vector<const BookmarkNode*> new_order;
1045 new_order.push_back(parent->GetChild(3)); 1036 new_order.push_back(parent->GetChild(3));
1046 new_order.push_back(parent->GetChild(2)); 1037 new_order.push_back(parent->GetChild(2));
1047 new_order.push_back(parent->GetChild(1)); 1038 new_order.push_back(parent->GetChild(1));
1048 new_order.push_back(parent->GetChild(0)); 1039 new_order.push_back(parent->GetChild(0));
1049 model_->ReorderChildren(parent, new_order); 1040 model_->ReorderChildren(parent, new_order);
1050 1041
1051 // Make sure we were notified. 1042 // Make sure we were notified.
1052 AssertObserverCount(0, 0, 0, 0, 0, 1, 0, 0, 1, 0); 1043 AssertObserverCount(0, 0, 0, 0, 1, 0, 0, 1, 0);
1053 1044
1054 // Make sure the order matches is correct (it should be reversed). 1045 // Make sure the order matches is correct (it should be reversed).
1055 ASSERT_EQ(4, parent->child_count()); 1046 ASSERT_EQ(4, parent->child_count());
1056 EXPECT_EQ("D", base::UTF16ToASCII(parent->GetChild(0)->GetTitle())); 1047 EXPECT_EQ("D", base::UTF16ToASCII(parent->GetChild(0)->GetTitle()));
1057 EXPECT_EQ("C", base::UTF16ToASCII(parent->GetChild(1)->GetTitle())); 1048 EXPECT_EQ("C", base::UTF16ToASCII(parent->GetChild(1)->GetTitle()));
1058 EXPECT_EQ("B", base::UTF16ToASCII(parent->GetChild(2)->GetTitle())); 1049 EXPECT_EQ("B", base::UTF16ToASCII(parent->GetChild(2)->GetTitle()));
1059 EXPECT_EQ("A", base::UTF16ToASCII(parent->GetChild(3)->GetTitle())); 1050 EXPECT_EQ("A", base::UTF16ToASCII(parent->GetChild(3)->GetTitle()));
1060 } 1051 }
1061 1052
1062 TEST_F(BookmarkModelTest, NodeVisibility) { 1053 TEST_F(BookmarkModelTest, NodeVisibility) {
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
1205 EXPECT_FALSE(node.DeleteMetaInfo("key3")); 1196 EXPECT_FALSE(node.DeleteMetaInfo("key3"));
1206 EXPECT_FALSE(node.GetMetaInfo("key1", &out_value)); 1197 EXPECT_FALSE(node.GetMetaInfo("key1", &out_value));
1207 EXPECT_FALSE(node.GetMetaInfo("key2.subkey1", &out_value)); 1198 EXPECT_FALSE(node.GetMetaInfo("key2.subkey1", &out_value));
1208 EXPECT_FALSE(node.GetMetaInfo("key2.subkey2", &out_value)); 1199 EXPECT_FALSE(node.GetMetaInfo("key2.subkey2", &out_value));
1209 EXPECT_FALSE(node.GetMetaInfo("key2.subkey2.leaf", &out_value)); 1200 EXPECT_FALSE(node.GetMetaInfo("key2.subkey2.leaf", &out_value));
1210 EXPECT_FALSE(node.GetMetaInfoMap()); 1201 EXPECT_FALSE(node.GetMetaInfoMap());
1211 } 1202 }
1212 1203
1213 } // namespace 1204 } // namespace
1214 } // namespace bookmarks 1205 } // namespace bookmarks
OLDNEW
« no previous file with comments | « components/bookmarks/browser/bookmark_model_observer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698