| Index: components/bookmarks/core/browser/bookmark_expanded_state_tracker_unittest.cc
|
| diff --git a/chrome/browser/bookmarks/bookmark_expanded_state_tracker_unittest.cc b/components/bookmarks/core/browser/bookmark_expanded_state_tracker_unittest.cc
|
| similarity index 48%
|
| rename from chrome/browser/bookmarks/bookmark_expanded_state_tracker_unittest.cc
|
| rename to components/bookmarks/core/browser/bookmark_expanded_state_tracker_unittest.cc
|
| index ce53cbb1c4a812305c129193a087c9cede1f7832..414e1ebeb005b581cf76a79663fe9ae4e5d02042 100644
|
| --- a/chrome/browser/bookmarks/bookmark_expanded_state_tracker_unittest.cc
|
| +++ b/components/bookmarks/core/browser/bookmark_expanded_state_tracker_unittest.cc
|
| @@ -4,88 +4,107 @@
|
|
|
| #include "components/bookmarks/core/browser/bookmark_expanded_state_tracker.h"
|
|
|
| +#include "base/files/file_path.h"
|
| +#include "base/message_loop/message_loop.h"
|
| +#include "base/prefs/pref_service.h"
|
| +#include "base/prefs/pref_service_factory.h"
|
| +#include "base/prefs/testing_pref_store.h"
|
| +#include "base/run_loop.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| -#include "chrome/browser/bookmarks/bookmark_model_factory.h"
|
| -#include "chrome/test/base/testing_profile.h"
|
| #include "components/bookmarks/core/browser/bookmark_model.h"
|
| +#include "components/bookmarks/core/common/bookmark_pref_names.h"
|
| #include "components/bookmarks/core/test/bookmark_test_helpers.h"
|
| -#include "content/public/test/test_browser_thread_bundle.h"
|
| +#include "components/bookmarks/core/test/test_bookmark_client.h"
|
| +#include "components/user_prefs/pref_registry_syncable.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| +scoped_ptr<PrefService> PrefServiceForTesting() {
|
| + scoped_refptr<user_prefs::PrefRegistrySyncable> registry(
|
| + new user_prefs::PrefRegistrySyncable());
|
| + registry->RegisterListPref(prefs::kBookmarkEditorExpandedNodes,
|
| + new base::ListValue,
|
| + user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
|
| + base::PrefServiceFactory factory;
|
| + factory.set_user_prefs(make_scoped_refptr(new TestingPrefStore()));
|
| + return factory.Create(registry.get());
|
| +}
|
| +
|
| class BookmarkExpandedStateTrackerTest : public testing::Test {
|
| public:
|
| BookmarkExpandedStateTrackerTest();
|
| + virtual ~BookmarkExpandedStateTrackerTest();
|
|
|
| + protected:
|
| + // testing::Test:
|
| virtual void SetUp() OVERRIDE;
|
| virtual void TearDown() OVERRIDE;
|
|
|
| - protected:
|
| - BookmarkModel* GetModel();
|
| -
|
| - private:
|
| - scoped_ptr<TestingProfile> profile_;
|
| - content::TestBrowserThreadBundle thread_bundle_;
|
| + base::MessageLoop message_loop_;
|
| + test::TestBookmarkClient client_;
|
| + scoped_ptr<PrefService> prefs_;
|
| + scoped_ptr<BookmarkModel> model_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(BookmarkExpandedStateTrackerTest);
|
| };
|
|
|
| BookmarkExpandedStateTrackerTest::BookmarkExpandedStateTrackerTest() {}
|
|
|
| -void BookmarkExpandedStateTrackerTest::SetUp() {
|
| - profile_.reset(new TestingProfile);
|
| - profile_->CreateBookmarkModel(true);
|
| - test::WaitForBookmarkModelToLoad(GetModel());
|
| -}
|
| +BookmarkExpandedStateTrackerTest::~BookmarkExpandedStateTrackerTest() {}
|
|
|
| -BookmarkModel* BookmarkExpandedStateTrackerTest::GetModel() {
|
| - return BookmarkModelFactory::GetForProfile(profile_.get());
|
| +void BookmarkExpandedStateTrackerTest::SetUp() {
|
| + prefs_ = PrefServiceForTesting();
|
| + model_.reset(new BookmarkModel(&client_, false));
|
| + model_->Load(prefs_.get(),
|
| + std::string(),
|
| + base::FilePath(),
|
| + base::MessageLoopProxy::current(),
|
| + base::MessageLoopProxy::current());
|
| + test::WaitForBookmarkModelToLoad(model_.get());
|
| }
|
|
|
| void BookmarkExpandedStateTrackerTest::TearDown() {
|
| - profile_.reset(NULL);
|
| + model_.reset();
|
| }
|
|
|
| // Various assertions for SetExpandedNodes.
|
| TEST_F(BookmarkExpandedStateTrackerTest, SetExpandedNodes) {
|
| - BookmarkModel* model = GetModel();
|
| - BookmarkExpandedStateTracker* tracker = model->expanded_state_tracker();
|
| + BookmarkExpandedStateTracker* tracker = model_->expanded_state_tracker();
|
|
|
| // Should start out initially empty.
|
| EXPECT_TRUE(tracker->GetExpandedNodes().empty());
|
|
|
| BookmarkExpandedStateTracker::Nodes nodes;
|
| - nodes.insert(model->bookmark_bar_node());
|
| + nodes.insert(model_->bookmark_bar_node());
|
| tracker->SetExpandedNodes(nodes);
|
| EXPECT_EQ(nodes, tracker->GetExpandedNodes());
|
|
|
| // Add a folder and mark it expanded.
|
| - const BookmarkNode* n1 = model->AddFolder(model->bookmark_bar_node(), 0,
|
| - base::ASCIIToUTF16("x"));
|
| + const BookmarkNode* n1 = model_->AddFolder(
|
| + model_->bookmark_bar_node(), 0, base::ASCIIToUTF16("x"));
|
| nodes.insert(n1);
|
| tracker->SetExpandedNodes(nodes);
|
| EXPECT_EQ(nodes, tracker->GetExpandedNodes());
|
|
|
| // Remove the folder, which should remove it from the list of expanded nodes.
|
| - model->Remove(model->bookmark_bar_node(), 0);
|
| + model_->Remove(model_->bookmark_bar_node(), 0);
|
| nodes.erase(n1);
|
| n1 = NULL;
|
| EXPECT_EQ(nodes, tracker->GetExpandedNodes());
|
| }
|
|
|
| TEST_F(BookmarkExpandedStateTrackerTest, RemoveAll) {
|
| - BookmarkModel* model = GetModel();
|
| - BookmarkExpandedStateTracker* tracker = model->expanded_state_tracker();
|
| + BookmarkExpandedStateTracker* tracker = model_->expanded_state_tracker();
|
|
|
| // Add a folder and mark it expanded.
|
| - const BookmarkNode* n1 =
|
| - model->AddFolder(model->bookmark_bar_node(), 0, base::ASCIIToUTF16("x"));
|
| + const BookmarkNode* n1 = model_->AddFolder(
|
| + model_->bookmark_bar_node(), 0, base::ASCIIToUTF16("x"));
|
| BookmarkExpandedStateTracker::Nodes nodes;
|
| nodes.insert(n1);
|
| tracker->SetExpandedNodes(nodes);
|
| // Verify that the node is present.
|
| EXPECT_EQ(nodes, tracker->GetExpandedNodes());
|
| // Call remove all.
|
| - model->RemoveAll();
|
| + model_->RemoveAll();
|
| // Verify node is not present.
|
| EXPECT_TRUE(tracker->GetExpandedNodes().empty());
|
| }
|
|
|