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

Side by Side Diff: components/reading_list/ios/reading_list_model_unittest.mm

Issue 2707043002: [Reading List iOS] Store distillation date and size. (Closed)
Patch Set: done Created 3 years, 10 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/reading_list/ios/reading_list_model.h" 5 #include "components/reading_list/ios/reading_list_model.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #import "base/test/ios/wait_util.h" 9 #import "base/test/ios/wait_util.h"
10 #include "components/reading_list/ios/reading_list_model_impl.h" 10 #include "components/reading_list/ios/reading_list_model_impl.h"
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 } 376 }
377 377
378 // Tests updating entry from sync. 378 // Tests updating entry from sync.
379 TEST_F(ReadingListModelTest, SyncMergeEntry) { 379 TEST_F(ReadingListModelTest, SyncMergeEntry) {
380 auto storage = base::MakeUnique<TestReadingListStorage>(this); 380 auto storage = base::MakeUnique<TestReadingListStorage>(this);
381 SetStorage(std::move(storage)); 381 SetStorage(std::move(storage));
382 model_->AddEntry(GURL("http://example.com"), "sample", 382 model_->AddEntry(GURL("http://example.com"), "sample",
383 reading_list::ADDED_VIA_CURRENT_APP); 383 reading_list::ADDED_VIA_CURRENT_APP);
384 const base::FilePath distilled_path("distilled/page.html"); 384 const base::FilePath distilled_path("distilled/page.html");
385 const GURL distilled_url("http://example.com/distilled"); 385 const GURL distilled_url("http://example.com/distilled");
386 int64_t size = 50;
387 int64_t time = 100;
386 model_->SetEntryDistilledInfo(GURL("http://example.com"), distilled_path, 388 model_->SetEntryDistilledInfo(GURL("http://example.com"), distilled_path,
387 distilled_url); 389 distilled_url, size, time);
388 const ReadingListEntry* local_entry = 390 const ReadingListEntry* local_entry =
389 model_->GetEntryByURL(GURL("http://example.com")); 391 model_->GetEntryByURL(GURL("http://example.com"));
390 int64_t local_update_time = local_entry->UpdateTime(); 392 int64_t local_update_time = local_entry->UpdateTime();
391 393
392 base::test::ios::SpinRunLoopWithMinDelay( 394 base::test::ios::SpinRunLoopWithMinDelay(
393 base::TimeDelta::FromMilliseconds(10)); 395 base::TimeDelta::FromMilliseconds(10));
394 auto sync_entry = 396 auto sync_entry =
395 base::MakeUnique<ReadingListEntry>(GURL("http://example.com"), "sample"); 397 base::MakeUnique<ReadingListEntry>(GURL("http://example.com"), "sample");
396 sync_entry->SetRead(true); 398 sync_entry->SetRead(true);
397 ASSERT_GT(sync_entry->UpdateTime(), local_update_time); 399 ASSERT_GT(sync_entry->UpdateTime(), local_update_time);
398 int64_t sync_update_time = sync_entry->UpdateTime(); 400 int64_t sync_update_time = sync_entry->UpdateTime();
399 EXPECT_TRUE(sync_entry->DistilledPath().empty()); 401 EXPECT_TRUE(sync_entry->DistilledPath().empty());
400 402
401 EXPECT_EQ(1ul, UnreadSize()); 403 EXPECT_EQ(1ul, UnreadSize());
402 EXPECT_EQ(0ul, ReadSize()); 404 EXPECT_EQ(0ul, ReadSize());
403 405
404 ReadingListEntry* merged_entry = 406 ReadingListEntry* merged_entry =
405 model_->SyncMergeEntry(std::move(sync_entry)); 407 model_->SyncMergeEntry(std::move(sync_entry));
406 EXPECT_EQ(0ul, UnreadSize()); 408 EXPECT_EQ(0ul, UnreadSize());
407 EXPECT_EQ(1ul, ReadSize()); 409 EXPECT_EQ(1ul, ReadSize());
408 EXPECT_EQ(merged_entry->DistilledPath(), 410 EXPECT_EQ(merged_entry->DistilledPath(),
409 base::FilePath("distilled/page.html")); 411 base::FilePath("distilled/page.html"));
410 EXPECT_EQ(merged_entry->UpdateTime(), sync_update_time); 412 EXPECT_EQ(merged_entry->UpdateTime(), sync_update_time);
413 EXPECT_EQ(size, merged_entry->DistillationSize());
414 EXPECT_EQ(time, merged_entry->DistillationTime());
411 } 415 }
412 416
413 // Tests deleting entry. 417 // Tests deleting entry.
414 TEST_F(ReadingListModelTest, RemoveEntryByUrl) { 418 TEST_F(ReadingListModelTest, RemoveEntryByUrl) {
415 auto storage = base::MakeUnique<TestReadingListStorage>(this); 419 auto storage = base::MakeUnique<TestReadingListStorage>(this);
416 SetStorage(std::move(storage)); 420 SetStorage(std::move(storage));
417 model_->AddEntry(GURL("http://example.com"), "sample", 421 model_->AddEntry(GURL("http://example.com"), "sample",
418 reading_list::ADDED_VIA_CURRENT_APP); 422 reading_list::ADDED_VIA_CURRENT_APP);
419 ClearCounts(); 423 ClearCounts();
420 EXPECT_NE(model_->GetEntryByURL(GURL("http://example.com")), nullptr); 424 EXPECT_NE(model_->GetEntryByURL(GURL("http://example.com")), nullptr);
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 621
618 // Tests setting distillation info on unread entry. 622 // Tests setting distillation info on unread entry.
619 TEST_F(ReadingListModelTest, UpdateDistilledInfo) { 623 TEST_F(ReadingListModelTest, UpdateDistilledInfo) {
620 const GURL gurl("http://example.com"); 624 const GURL gurl("http://example.com");
621 const ReadingListEntry& entry = 625 const ReadingListEntry& entry =
622 model_->AddEntry(gurl, "sample", reading_list::ADDED_VIA_CURRENT_APP); 626 model_->AddEntry(gurl, "sample", reading_list::ADDED_VIA_CURRENT_APP);
623 ClearCounts(); 627 ClearCounts();
624 628
625 const base::FilePath distilled_path("distilled/page.html"); 629 const base::FilePath distilled_path("distilled/page.html");
626 const GURL distilled_url("http://example.com/distilled"); 630 const GURL distilled_url("http://example.com/distilled");
631 int64_t size = 50;
632 int64_t time = 100;
627 model_->SetEntryDistilledInfo(GURL("http://example.com"), distilled_path, 633 model_->SetEntryDistilledInfo(GURL("http://example.com"), distilled_path,
628 distilled_url); 634 distilled_url, size, time);
629 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 1, 1); 635 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 1, 1);
630 EXPECT_EQ(ReadingListEntry::PROCESSED, entry.DistilledState()); 636 EXPECT_EQ(ReadingListEntry::PROCESSED, entry.DistilledState());
631 EXPECT_EQ(distilled_path, entry.DistilledPath()); 637 EXPECT_EQ(distilled_path, entry.DistilledPath());
632 EXPECT_EQ(distilled_url, entry.DistilledURL()); 638 EXPECT_EQ(distilled_url, entry.DistilledURL());
639 EXPECT_EQ(size, entry.DistillationSize());
640 EXPECT_EQ(time, entry.DistillationTime());
633 } 641 }
634 642
635 // Tests setting title on read entry. 643 // Tests setting title on read entry.
636 TEST_F(ReadingListModelTest, UpdateReadEntryTitle) { 644 TEST_F(ReadingListModelTest, UpdateReadEntryTitle) {
637 const GURL gurl("http://example.com"); 645 const GURL gurl("http://example.com");
638 model_->AddEntry(gurl, "sample", reading_list::ADDED_VIA_CURRENT_APP); 646 model_->AddEntry(gurl, "sample", reading_list::ADDED_VIA_CURRENT_APP);
639 model_->SetReadStatus(gurl, true); 647 model_->SetReadStatus(gurl, true);
640 const ReadingListEntry* entry = model_->GetEntryByURL(gurl); 648 const ReadingListEntry* entry = model_->GetEntryByURL(gurl);
641 ClearCounts(); 649 ClearCounts();
642 650
(...skipping 18 matching lines...) Expand all
661 // Tests setting distillation info on read entry. 669 // Tests setting distillation info on read entry.
662 TEST_F(ReadingListModelTest, UpdateReadDistilledInfo) { 670 TEST_F(ReadingListModelTest, UpdateReadDistilledInfo) {
663 const GURL gurl("http://example.com"); 671 const GURL gurl("http://example.com");
664 model_->AddEntry(gurl, "sample", reading_list::ADDED_VIA_CURRENT_APP); 672 model_->AddEntry(gurl, "sample", reading_list::ADDED_VIA_CURRENT_APP);
665 model_->SetReadStatus(gurl, true); 673 model_->SetReadStatus(gurl, true);
666 const ReadingListEntry* entry = model_->GetEntryByURL(gurl); 674 const ReadingListEntry* entry = model_->GetEntryByURL(gurl);
667 ClearCounts(); 675 ClearCounts();
668 676
669 const base::FilePath distilled_path("distilled/page.html"); 677 const base::FilePath distilled_path("distilled/page.html");
670 const GURL distilled_url("http://example.com/distilled"); 678 const GURL distilled_url("http://example.com/distilled");
679 int64_t size = 50;
680 int64_t time = 100;
671 model_->SetEntryDistilledInfo(GURL("http://example.com"), distilled_path, 681 model_->SetEntryDistilledInfo(GURL("http://example.com"), distilled_path,
672 distilled_url); 682 distilled_url, size, time);
673 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 1, 1); 683 AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 1, 1);
674 EXPECT_EQ(ReadingListEntry::PROCESSED, entry->DistilledState()); 684 EXPECT_EQ(ReadingListEntry::PROCESSED, entry->DistilledState());
675 EXPECT_EQ(distilled_path, entry->DistilledPath()); 685 EXPECT_EQ(distilled_path, entry->DistilledPath());
676 EXPECT_EQ(distilled_url, entry->DistilledURL()); 686 EXPECT_EQ(distilled_url, entry->DistilledURL());
687 EXPECT_EQ(size, entry->DistillationSize());
688 EXPECT_EQ(time, entry->DistillationTime());
677 } 689 }
678 690
679 // Tests that ReadingListModel calls CallbackModelBeingDeleted when destroyed. 691 // Tests that ReadingListModel calls CallbackModelBeingDeleted when destroyed.
680 TEST_F(ReadingListModelTest, CallbackModelBeingDeleted) { 692 TEST_F(ReadingListModelTest, CallbackModelBeingDeleted) {
681 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0); 693 AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0);
682 model_.reset(); 694 model_.reset();
683 AssertObserverCount(1, 0, 0, 1, 0, 0, 0, 0, 0); 695 AssertObserverCount(1, 0, 0, 1, 0, 0, 0, 0, 0);
684 } 696 }
685 697
686 // Tests that new line characters and spaces are collapsed in title. 698 // Tests that new line characters and spaces are collapsed in title.
687 TEST_F(ReadingListModelTest, TestTrimmingTitle) { 699 TEST_F(ReadingListModelTest, TestTrimmingTitle) {
688 const GURL gurl("http://example.com"); 700 const GURL gurl("http://example.com");
689 std::string title = "\n This\ttitle \n contains new line \n characters "; 701 std::string title = "\n This\ttitle \n contains new line \n characters ";
690 model_->AddEntry(gurl, title, reading_list::ADDED_VIA_CURRENT_APP); 702 model_->AddEntry(gurl, title, reading_list::ADDED_VIA_CURRENT_APP);
691 model_->SetReadStatus(gurl, true); 703 model_->SetReadStatus(gurl, true);
692 const ReadingListEntry* entry = model_->GetEntryByURL(gurl); 704 const ReadingListEntry* entry = model_->GetEntryByURL(gurl);
693 EXPECT_EQ(entry->Title(), "This title contains new line characters"); 705 EXPECT_EQ(entry->Title(), "This title contains new line characters");
694 model_->SetEntryTitle(gurl, "test"); 706 model_->SetEntryTitle(gurl, "test");
695 EXPECT_EQ(entry->Title(), "test"); 707 EXPECT_EQ(entry->Title(), "test");
696 model_->SetEntryTitle(gurl, title); 708 model_->SetEntryTitle(gurl, title);
697 EXPECT_EQ(entry->Title(), "This title contains new line characters"); 709 EXPECT_EQ(entry->Title(), "This title contains new line characters");
698 } 710 }
699 711
700 } // namespace 712 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698