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

Unified Diff: components/reading_list/reading_list_model_unittest.cc

Issue 2511723002: Enable RL sync by default on iOS (Closed)
Patch Set: rebase Created 4 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 side-by-side diff with in-line comments
Download patch
Index: components/reading_list/reading_list_model_unittest.cc
diff --git a/components/reading_list/reading_list_model_unittest.cc b/components/reading_list/reading_list_model_unittest.cc
deleted file mode 100644
index 886430571cf1d861328bc80b539da11f52ef6943..0000000000000000000000000000000000000000
--- a/components/reading_list/reading_list_model_unittest.cc
+++ /dev/null
@@ -1,619 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/bind.h"
-#include "base/memory/ptr_util.h"
-#import "base/test/ios/wait_util.h"
-#include "components/reading_list/reading_list_model_impl.h"
-#include "components/reading_list/reading_list_model_storage.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace {
-
-const GURL callback_url("http://example.com");
-const std::string callback_title("test title");
-
-class TestReadingListStorageObserver {
- public:
- virtual void ReadingListDidSaveEntry() = 0;
- virtual void ReadingListDidRemoveEntry() = 0;
-};
-
-class TestReadingListStorage : public ReadingListModelStorage {
- public:
- TestReadingListStorage(TestReadingListStorageObserver* observer)
- : read_(new std::vector<ReadingListEntry>()),
- unread_(new std::vector<ReadingListEntry>()),
- observer_(observer) {}
-
- void AddSampleEntries() {
- // Adds timer and interlace read/unread entry creation to avoid having two
- // entries with the same creation timestamp.
- ReadingListEntry unread_a(GURL("http://unread_a.com"), "unread_a");
- base::test::ios::SpinRunLoopWithMinDelay(
- base::TimeDelta::FromMilliseconds(5));
- ReadingListEntry read_a(GURL("http://read_a.com"), "read_a");
- base::test::ios::SpinRunLoopWithMinDelay(
- base::TimeDelta::FromMilliseconds(5));
- ReadingListEntry unread_b(GURL("http://unread_b.com"), "unread_b");
- base::test::ios::SpinRunLoopWithMinDelay(
- base::TimeDelta::FromMilliseconds(5));
- ReadingListEntry read_b(GURL("http://read_b.com"), "read_b");
- base::test::ios::SpinRunLoopWithMinDelay(
- base::TimeDelta::FromMilliseconds(5));
- ReadingListEntry unread_c(GURL("http://unread_c.com"), "unread_c");
- base::test::ios::SpinRunLoopWithMinDelay(
- base::TimeDelta::FromMilliseconds(5));
- ReadingListEntry read_c(GURL("http://read_c.com"), "read_c");
- base::test::ios::SpinRunLoopWithMinDelay(
- base::TimeDelta::FromMilliseconds(5));
- ReadingListEntry unread_d(GURL("http://unread_d.com"), "unread_d");
- base::test::ios::SpinRunLoopWithMinDelay(
- base::TimeDelta::FromMilliseconds(5));
- read_->push_back(std::move(read_c));
- read_->push_back(std::move(read_a));
- read_->push_back(std::move(read_b));
-
- unread_->push_back(std::move(unread_a));
- unread_->push_back(std::move(unread_d));
- unread_->push_back(std::move(unread_c));
- unread_->push_back(std::move(unread_b));
- }
-
- void SetReadingListModel(ReadingListModel* model,
- ReadingListStoreDelegate* delegate_) override {
- delegate_->StoreLoaded(std::move(unread_), std::move(read_));
- }
-
- syncer::ModelTypeSyncBridge* GetModelTypeSyncBridge() override {
- return nullptr;
- }
-
- std::unique_ptr<ScopedBatchUpdate> EnsureBatchCreated() override {
- return std::unique_ptr<ScopedBatchUpdate>();
- }
-
- // Saves or updates an entry. If the entry is not yet in the database, it is
- // created.
- void SaveEntry(const ReadingListEntry& entry, bool read) override {
- observer_->ReadingListDidSaveEntry();
- }
-
- // Removed an entry from the storage.
- void RemoveEntry(const ReadingListEntry& entry) override {
- observer_->ReadingListDidRemoveEntry();
- }
-
- private:
- std::unique_ptr<std::vector<ReadingListEntry>> read_;
- std::unique_ptr<std::vector<ReadingListEntry>> unread_;
- TestReadingListStorageObserver* observer_;
-};
-
-class ReadingListModelTest : public ReadingListModelObserver,
- public TestReadingListStorageObserver,
- public testing::Test {
- public:
- ReadingListModelTest()
- : callback_called_(false), model_(new ReadingListModelImpl()) {
- ClearCounts();
- model_->AddObserver(this);
- }
- ~ReadingListModelTest() override {}
-
- void SetStorage(std::unique_ptr<TestReadingListStorage> storage) {
- model_ =
- base::MakeUnique<ReadingListModelImpl>(std::move(storage), nullptr);
- ClearCounts();
- model_->AddObserver(this);
- }
-
- void ClearCounts() {
- observer_loaded_ = observer_started_batch_update_ =
- observer_completed_batch_update_ = observer_deleted_ =
- observer_remove_unread_ = observer_remove_read_ = observer_move_ =
- observer_add_unread_ = observer_add_read_ =
- observer_update_unread_ = observer_update_read_ =
- observer_did_apply_ = storage_saved_ =
- storage_removed_ = 0;
- }
-
- void AssertObserverCount(int observer_loaded,
- int observer_started_batch_update,
- int observer_completed_batch_update,
- int observer_deleted,
- int observer_remove_unread,
- int observer_remove_read,
- int observer_move,
- int observer_add_unread,
- int observer_add_read,
- int observer_update_unread,
- int observer_update_read,
- int observer_did_apply) {
- ASSERT_EQ(observer_loaded, observer_loaded_);
- ASSERT_EQ(observer_started_batch_update, observer_started_batch_update_);
- ASSERT_EQ(observer_completed_batch_update,
- observer_completed_batch_update_);
- ASSERT_EQ(observer_deleted, observer_deleted_);
- ASSERT_EQ(observer_remove_unread, observer_remove_unread_);
- ASSERT_EQ(observer_remove_read, observer_remove_read_);
- ASSERT_EQ(observer_move, observer_move_);
- ASSERT_EQ(observer_add_unread, observer_add_unread_);
- ASSERT_EQ(observer_add_read, observer_add_read_);
- ASSERT_EQ(observer_update_unread, observer_update_unread_);
- ASSERT_EQ(observer_update_read, observer_update_read_);
- ASSERT_EQ(observer_did_apply, observer_did_apply_);
- }
-
- void AssertStorageCount(int storage_saved, int storage_removed) {
- ASSERT_EQ(storage_saved, storage_saved_);
- ASSERT_EQ(storage_removed, storage_removed_);
- }
-
- // ReadingListModelObserver
- void ReadingListModelLoaded(const ReadingListModel* model) override {
- observer_loaded_ += 1;
- }
- void ReadingListModelBeganBatchUpdates(
- const ReadingListModel* model) override {
- observer_started_batch_update_ += 1;
- }
- void ReadingListModelCompletedBatchUpdates(
- const ReadingListModel* model) override {
- observer_completed_batch_update_ += 1;
- }
- void ReadingListModelBeingDeleted(const ReadingListModel* model) override {
- observer_deleted_ += 1;
- }
- void ReadingListWillRemoveUnreadEntry(const ReadingListModel* model,
- size_t index) override {
- observer_remove_unread_ += 1;
- }
- void ReadingListWillMoveEntry(const ReadingListModel* model,
- size_t index,
- bool read) override {
- observer_move_ += 1;
- }
- void ReadingListWillRemoveReadEntry(const ReadingListModel* model,
- size_t index) override {
- observer_remove_read_ += 1;
- }
- void ReadingListWillAddUnreadEntry(const ReadingListModel* model,
- const ReadingListEntry& entry) override {
- observer_add_unread_ += 1;
- }
- void ReadingListWillAddReadEntry(const ReadingListModel* model,
- const ReadingListEntry& entry) override {
- observer_add_read_ += 1;
- }
- void ReadingListWillUpdateUnreadEntry(const ReadingListModel* model,
- size_t index) override {
- observer_update_unread_ += 1;
- }
- void ReadingListWillUpdateReadEntry(const ReadingListModel* model,
- size_t index) override {
- observer_update_read_ += 1;
- }
- void ReadingListDidApplyChanges(ReadingListModel* model) override {
- observer_did_apply_ += 1;
- }
-
- void ReadingListDidSaveEntry() override { storage_saved_ += 1; }
- void ReadingListDidRemoveEntry() override { storage_removed_ += 1; }
-
- void Callback(const ReadingListEntry& entry) {
- EXPECT_EQ(callback_url, entry.URL());
- EXPECT_EQ(callback_title, entry.Title());
- callback_called_ = true;
- }
-
- bool CallbackCalled() { return callback_called_; }
-
- protected:
- int observer_loaded_;
- int observer_started_batch_update_;
- int observer_completed_batch_update_;
- int observer_deleted_;
- int observer_remove_unread_;
- int observer_remove_read_;
- int observer_move_;
- int observer_add_unread_;
- int observer_add_read_;
- int observer_update_unread_;
- int observer_update_read_;
- int observer_did_apply_;
- int storage_saved_;
- int storage_removed_;
- bool callback_called_;
-
- std::unique_ptr<ReadingListModelImpl> model_;
-};
-
-TEST_F(ReadingListModelTest, EmptyLoaded) {
- EXPECT_TRUE(model_->loaded());
- AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
- EXPECT_EQ(0ul, model_->unread_size());
- EXPECT_EQ(0ul, model_->read_size());
- model_->Shutdown();
- EXPECT_FALSE(model_->loaded());
- AssertObserverCount(1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0);
-}
-
-TEST_F(ReadingListModelTest, ModelLoaded) {
- ClearCounts();
- auto storage = base::MakeUnique<TestReadingListStorage>(this);
- storage->AddSampleEntries();
- SetStorage(std::move(storage));
-
- AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
- EXPECT_EQ(model_->read_size(), 3u);
- EXPECT_EQ(model_->GetReadEntryAtIndex(0).Title(), "read_c");
- EXPECT_EQ(model_->GetReadEntryAtIndex(1).Title(), "read_b");
- EXPECT_EQ(model_->GetReadEntryAtIndex(2).Title(), "read_a");
-
- EXPECT_EQ(model_->unread_size(), 4u);
- EXPECT_EQ(model_->GetUnreadEntryAtIndex(0).Title(), "unread_d");
- EXPECT_EQ(model_->GetUnreadEntryAtIndex(1).Title(), "unread_c");
- EXPECT_EQ(model_->GetUnreadEntryAtIndex(2).Title(), "unread_b");
- EXPECT_EQ(model_->GetUnreadEntryAtIndex(3).Title(), "unread_a");
-}
-
-TEST_F(ReadingListModelTest, AddEntry) {
- auto storage = base::MakeUnique<TestReadingListStorage>(this);
- SetStorage(std::move(storage));
- ClearCounts();
-
- const ReadingListEntry& entry =
- model_->AddEntry(GURL("http://example.com"), "\n \tsample Test ");
- EXPECT_EQ(GURL("http://example.com"), entry.URL());
- EXPECT_EQ("sample Test", entry.Title());
-
- AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1);
- AssertStorageCount(1, 0);
- EXPECT_EQ(1ul, model_->unread_size());
- EXPECT_EQ(0ul, model_->read_size());
- EXPECT_TRUE(model_->HasUnseenEntries());
-
- const ReadingListEntry& other_entry = model_->GetUnreadEntryAtIndex(0);
- EXPECT_EQ(GURL("http://example.com"), other_entry.URL());
- EXPECT_EQ("sample Test", other_entry.Title());
-}
-
-TEST_F(ReadingListModelTest, SyncAddEntry) {
- auto storage = base::MakeUnique<TestReadingListStorage>(this);
- SetStorage(std::move(storage));
- auto entry =
- base::MakeUnique<ReadingListEntry>(GURL("http://example.com"), "sample");
- ClearCounts();
-
- model_->SyncAddEntry(std::move(entry), true);
- AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1);
- AssertStorageCount(0, 0);
- ASSERT_EQ(model_->unread_size(), 0u);
- ASSERT_EQ(model_->read_size(), 1u);
- ClearCounts();
-}
-
-TEST_F(ReadingListModelTest, SyncMergeEntry) {
- auto storage = base::MakeUnique<TestReadingListStorage>(this);
- SetStorage(std::move(storage));
- model_->AddEntry(GURL("http://example.com"), "sample");
- model_->SetEntryDistilledPath(GURL("http://example.com"),
- base::FilePath("distilled/page.html"));
- const ReadingListEntry* local_entry =
- model_->GetEntryFromURL(GURL("http://example.com"), nullptr);
- int64_t local_update_time = local_entry->UpdateTime();
-
- base::test::ios::SpinRunLoopWithMinDelay(
- base::TimeDelta::FromMilliseconds(10));
- auto sync_entry =
- base::MakeUnique<ReadingListEntry>(GURL("http://example.com"), "sample");
- ASSERT_GT(sync_entry->UpdateTime(), local_update_time);
- int64_t sync_update_time = sync_entry->UpdateTime();
- EXPECT_TRUE(sync_entry->DistilledPath().empty());
-
- EXPECT_EQ(model_->unread_size(), 1u);
- EXPECT_EQ(model_->read_size(), 0u);
-
- ReadingListEntry* merged_entry =
- model_->SyncMergeEntry(std::move(sync_entry), true);
- EXPECT_EQ(model_->unread_size(), 0u);
- EXPECT_EQ(model_->read_size(), 1u);
- EXPECT_EQ(merged_entry->DistilledPath(),
- base::FilePath("distilled/page.html"));
- EXPECT_EQ(merged_entry->UpdateTime(), sync_update_time);
-}
-
-TEST_F(ReadingListModelTest, RemoveEntryByUrl) {
- auto storage = base::MakeUnique<TestReadingListStorage>(this);
- SetStorage(std::move(storage));
- model_->AddEntry(GURL("http://example.com"), "sample");
- ClearCounts();
- EXPECT_NE(model_->GetEntryFromURL(GURL("http://example.com"), nullptr),
- nullptr);
- EXPECT_EQ(model_->unread_size(), 1u);
- model_->RemoveEntryByURL(GURL("http://example.com"));
- AssertObserverCount(0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1);
- AssertStorageCount(0, 1);
- EXPECT_EQ(model_->unread_size(), 0u);
- EXPECT_EQ(model_->GetEntryFromURL(GURL("http://example.com"), nullptr),
- nullptr);
-
- model_->AddEntry(GURL("http://example.com"), "sample");
- model_->MarkReadByURL(GURL("http://example.com"));
- ClearCounts();
- EXPECT_NE(model_->GetEntryFromURL(GURL("http://example.com"), nullptr),
- nullptr);
- EXPECT_EQ(model_->read_size(), 1u);
- model_->RemoveEntryByURL(GURL("http://example.com"));
- AssertObserverCount(0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1);
- AssertStorageCount(0, 1);
- EXPECT_EQ(model_->read_size(), 0u);
- EXPECT_EQ(model_->GetEntryFromURL(GURL("http://example.com"), nullptr),
- nullptr);
-}
-
-TEST_F(ReadingListModelTest, RemoveSyncEntryByUrl) {
- auto storage = base::MakeUnique<TestReadingListStorage>(this);
- SetStorage(std::move(storage));
- model_->AddEntry(GURL("http://example.com"), "sample");
- ClearCounts();
- EXPECT_NE(model_->GetEntryFromURL(GURL("http://example.com"), nullptr),
- nullptr);
- EXPECT_EQ(model_->unread_size(), 1u);
- model_->SyncRemoveEntry(GURL("http://example.com"));
- AssertObserverCount(0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1);
- AssertStorageCount(0, 0);
- EXPECT_EQ(model_->unread_size(), 0u);
- EXPECT_EQ(model_->GetEntryFromURL(GURL("http://example.com"), nullptr),
- nullptr);
-
- model_->AddEntry(GURL("http://example.com"), "sample");
- model_->MarkReadByURL(GURL("http://example.com"));
- ClearCounts();
- EXPECT_NE(model_->GetEntryFromURL(GURL("http://example.com"), nullptr),
- nullptr);
- EXPECT_EQ(model_->read_size(), 1u);
- model_->SyncRemoveEntry(GURL("http://example.com"));
- AssertObserverCount(0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1);
- AssertStorageCount(0, 0);
- EXPECT_EQ(model_->read_size(), 0u);
- EXPECT_EQ(model_->GetEntryFromURL(GURL("http://example.com"), nullptr),
- nullptr);
-}
-
-TEST_F(ReadingListModelTest, ReadEntry) {
- model_->AddEntry(GURL("http://example.com"), "sample");
-
- ClearCounts();
- model_->MarkReadByURL(GURL("http://example.com"));
- AssertObserverCount(0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
- EXPECT_EQ(0ul, model_->unread_size());
- EXPECT_EQ(1ul, model_->read_size());
- EXPECT_FALSE(model_->HasUnseenEntries());
-
- const ReadingListEntry& other_entry = model_->GetReadEntryAtIndex(0);
- EXPECT_EQ(GURL("http://example.com"), other_entry.URL());
- EXPECT_EQ("sample", other_entry.Title());
-}
-
-TEST_F(ReadingListModelTest, EntryFromURL) {
- GURL url1("http://example.com");
- GURL url2("http://example2.com");
- std::string entry1_title = "foo bar qux";
- model_->AddEntry(url1, entry1_title);
-
- // Check call with nullptr |read| parameter.
- const ReadingListEntry* entry1 = model_->GetEntryFromURL(url1, nullptr);
- EXPECT_NE(nullptr, entry1);
- EXPECT_EQ(entry1_title, entry1->Title());
-
- bool read;
- entry1 = model_->GetEntryFromURL(url1, &read);
- EXPECT_NE(nullptr, entry1);
- EXPECT_EQ(entry1_title, entry1->Title());
- EXPECT_EQ(read, false);
- model_->MarkReadByURL(url1);
- entry1 = model_->GetEntryFromURL(url1, &read);
- EXPECT_NE(nullptr, entry1);
- EXPECT_EQ(entry1_title, entry1->Title());
- EXPECT_EQ(read, true);
-
- const ReadingListEntry* entry2 = model_->GetEntryFromURL(url2, &read);
- EXPECT_EQ(nullptr, entry2);
-}
-
-TEST_F(ReadingListModelTest, UnreadEntry) {
- // Setup.
- model_->AddEntry(GURL("http://example.com"), "sample");
- model_->MarkReadByURL(GURL("http://example.com"));
- ClearCounts();
- ASSERT_EQ(0ul, model_->unread_size());
- ASSERT_EQ(1ul, model_->read_size());
-
- // Action.
- model_->MarkUnreadByURL(GURL("http://example.com"));
-
- // Tests.
- AssertObserverCount(0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
- EXPECT_EQ(1ul, model_->unread_size());
- EXPECT_EQ(0ul, model_->read_size());
- EXPECT_TRUE(model_->HasUnseenEntries());
-
- const ReadingListEntry& other_entry = model_->GetUnreadEntryAtIndex(0);
- EXPECT_EQ(GURL("http://example.com"), other_entry.URL());
- EXPECT_EQ("sample", other_entry.Title());
-}
-
-TEST_F(ReadingListModelTest, BatchUpdates) {
- auto token = model_->BeginBatchUpdates();
- AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
- EXPECT_TRUE(model_->IsPerformingBatchUpdates());
-
- delete token.release();
- AssertObserverCount(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0);
- EXPECT_FALSE(model_->IsPerformingBatchUpdates());
-}
-
-TEST_F(ReadingListModelTest, BatchUpdatesReentrant) {
- // When two updates happen at the same time, the notification is only sent
- // for beginning of first update and completion of last update.
- EXPECT_FALSE(model_->IsPerformingBatchUpdates());
-
- auto token = model_->BeginBatchUpdates();
- AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
- EXPECT_TRUE(model_->IsPerformingBatchUpdates());
-
- auto second_token = model_->BeginBatchUpdates();
- AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
- EXPECT_TRUE(model_->IsPerformingBatchUpdates());
-
- delete token.release();
- AssertObserverCount(1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
- EXPECT_TRUE(model_->IsPerformingBatchUpdates());
-
- delete second_token.release();
- AssertObserverCount(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0);
- EXPECT_FALSE(model_->IsPerformingBatchUpdates());
-
- // Consequent updates send notifications.
- auto third_token = model_->BeginBatchUpdates();
- AssertObserverCount(1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0);
- EXPECT_TRUE(model_->IsPerformingBatchUpdates());
-
- delete third_token.release();
- AssertObserverCount(1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0);
- EXPECT_FALSE(model_->IsPerformingBatchUpdates());
-}
-
-TEST_F(ReadingListModelTest, UpdateEntryTitle) {
- const GURL gurl("http://example.com");
- const ReadingListEntry& entry = model_->AddEntry(gurl, "sample");
- ClearCounts();
-
- model_->SetEntryTitle(gurl, "ping");
- AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1);
- EXPECT_EQ("ping", entry.Title());
-}
-
-TEST_F(ReadingListModelTest, UpdateEntryState) {
- const GURL gurl("http://example.com");
- const ReadingListEntry& entry = model_->AddEntry(gurl, "sample");
- ClearCounts();
-
- model_->SetEntryDistilledState(gurl, ReadingListEntry::PROCESSING);
- AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1);
- EXPECT_EQ(ReadingListEntry::PROCESSING, entry.DistilledState());
-}
-
-TEST_F(ReadingListModelTest, UpdateDistilledPath) {
- const GURL gurl("http://example.com");
- const ReadingListEntry& entry = model_->AddEntry(gurl, "sample");
- ClearCounts();
-
- model_->SetEntryDistilledPath(gurl, base::FilePath("distilled/page.html"));
- AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1);
- EXPECT_EQ(ReadingListEntry::PROCESSED, entry.DistilledState());
- EXPECT_EQ(base::FilePath("distilled/page.html"), entry.DistilledPath());
-}
-
-TEST_F(ReadingListModelTest, UpdateReadEntryTitle) {
- const GURL gurl("http://example.com");
- model_->AddEntry(gurl, "sample");
- model_->MarkReadByURL(gurl);
- const ReadingListEntry& entry = model_->GetReadEntryAtIndex(0);
- ClearCounts();
-
- model_->SetEntryTitle(gurl, "ping");
- AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1);
- EXPECT_EQ("ping", entry.Title());
-}
-
-TEST_F(ReadingListModelTest, UpdateReadEntryState) {
- const GURL gurl("http://example.com");
- model_->AddEntry(gurl, "sample");
- model_->MarkReadByURL(gurl);
- const ReadingListEntry& entry = model_->GetReadEntryAtIndex(0);
- ClearCounts();
-
- model_->SetEntryDistilledState(gurl, ReadingListEntry::PROCESSING);
- AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1);
- EXPECT_EQ(ReadingListEntry::PROCESSING, entry.DistilledState());
-}
-
-TEST_F(ReadingListModelTest, UpdateReadDistilledPath) {
- const GURL gurl("http://example.com");
- model_->AddEntry(gurl, "sample");
- model_->MarkReadByURL(gurl);
- const ReadingListEntry& entry = model_->GetReadEntryAtIndex(0);
- ClearCounts();
-
- model_->SetEntryDistilledPath(gurl, base::FilePath("distilled/page.html"));
- AssertObserverCount(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1);
- EXPECT_EQ(ReadingListEntry::PROCESSED, entry.DistilledState());
- EXPECT_EQ(base::FilePath("distilled/page.html"), entry.DistilledPath());
-}
-
-// Tests that the callback is called when the entry is unread.
-TEST_F(ReadingListModelTest, CallbackEntryURLUnread) {
- // Setup.
- model_->AddEntry(callback_url, callback_title);
-
- ASSERT_EQ(0UL, model_->read_size());
- ASSERT_EQ(1UL, model_->unread_size());
-
- // Action.
- bool result = model_->CallbackEntryURL(
- callback_url,
- base::Bind(&ReadingListModelTest::Callback, base::Unretained(this)));
-
- // Test.
- EXPECT_TRUE(result);
- EXPECT_TRUE(CallbackCalled());
-}
-
-// Tests that the callback is called when the entry is read.
-TEST_F(ReadingListModelTest, CallbackEntryURLRead) {
- // Setup.
- model_->AddEntry(callback_url, callback_title);
- model_->MarkReadByURL(callback_url);
-
- ASSERT_EQ(1UL, model_->read_size());
- ASSERT_EQ(0UL, model_->unread_size());
-
- // Action.
- bool result = model_->CallbackEntryURL(
- callback_url,
- base::Bind(&ReadingListModelTest::Callback, base::Unretained(this)));
-
- // Test.
- EXPECT_TRUE(result);
- EXPECT_TRUE(CallbackCalled());
-}
-
-// Tests that the callback is not called when the entry is not present.
-TEST_F(ReadingListModelTest, CallbackEntryURLNotPresent) {
- // Setup.
- const GURL gurl("http://foo.bar");
- ASSERT_NE(gurl, callback_url);
- model_->AddEntry(gurl, callback_title);
-
- // Action.
- bool result = model_->CallbackEntryURL(
- callback_url,
- base::Bind(&ReadingListModelTest::Callback, base::Unretained(this)));
-
- // Test.
- EXPECT_FALSE(result);
- EXPECT_FALSE(CallbackCalled());
-}
-
-// Tests that ReadingListModel calls CallbackModelBeingDeleted when destroyed.
-TEST_F(ReadingListModelTest, CallbackModelBeingDeleted) {
- AssertObserverCount(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
- model_.reset();
- AssertObserverCount(1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0);
-}
-
-} // namespace
« no previous file with comments | « components/reading_list/reading_list_model_storage.h ('k') | components/reading_list/reading_list_pref_names.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698