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

Side by Side Diff: chrome/browser/extensions/api/bookmarks/bookmark_api_helpers_unittest.cc

Issue 306293006: Introduce ChromeBookmarkClientFactory (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@364865
Patch Set: Add missing dependency in components/policy/policy_browser.gypi Created 6 years, 6 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/extensions/api/bookmarks/bookmark_api_helpers.h" 5 #include "chrome/browser/extensions/api/bookmarks/bookmark_api_helpers.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/bookmarks/bookmark_model_factory.h" 10 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
11 #include "chrome/browser/bookmarks/chrome_bookmark_client.h" 11 #include "chrome/browser/bookmarks/chrome_bookmark_client.h"
12 #include "chrome/browser/bookmarks/chrome_bookmark_client_factory.h"
12 #include "chrome/browser/extensions/api/bookmarks/bookmark_api_constants.h" 13 #include "chrome/browser/extensions/api/bookmarks/bookmark_api_constants.h"
13 #include "chrome/common/extensions/api/bookmarks.h" 14 #include "chrome/common/extensions/api/bookmarks.h"
14 #include "chrome/test/base/testing_profile.h" 15 #include "chrome/test/base/testing_profile.h"
15 #include "components/bookmarks/browser/bookmark_model.h" 16 #include "components/bookmarks/browser/bookmark_model.h"
16 #include "components/bookmarks/test/bookmark_test_helpers.h" 17 #include "components/bookmarks/test/bookmark_test_helpers.h"
17 #include "content/public/test/test_browser_thread_bundle.h" 18 #include "content/public/test/test_browser_thread_bundle.h"
18 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
19 20
20 namespace extensions { 21 namespace extensions {
21 22
22 namespace keys = bookmark_api_constants; 23 namespace keys = bookmark_api_constants;
23 using api::bookmarks::BookmarkTreeNode; 24 using api::bookmarks::BookmarkTreeNode;
24 25
25 namespace bookmark_api_helpers { 26 namespace bookmark_api_helpers {
26 27
27 class ExtensionBookmarksTest : public testing::Test { 28 class ExtensionBookmarksTest : public testing::Test {
28 public: 29 public:
29 ExtensionBookmarksTest() 30 ExtensionBookmarksTest()
30 : client_(NULL), model_(NULL), node_(NULL), folder_(NULL) {} 31 : client_(NULL), model_(NULL), node_(NULL), folder_(NULL) {}
31 32
32 virtual void SetUp() OVERRIDE { 33 virtual void SetUp() OVERRIDE {
33 profile_.CreateBookmarkModel(false); 34 profile_.CreateBookmarkModel(false);
34 client_ = 35 model_ = BookmarkModelFactory::GetForProfile(&profile_);
35 BookmarkModelFactory::GetChromeBookmarkClientForProfile(&profile_); 36 client_ = ChromeBookmarkClientFactory::GetForProfile(&profile_);
36 model_ = client_->model();
37 test::WaitForBookmarkModelToLoad(model_); 37 test::WaitForBookmarkModelToLoad(model_);
38 38
39 node_ = model_->AddURL(model_->other_node(), 0, base::ASCIIToUTF16("Digg"), 39 node_ = model_->AddURL(model_->other_node(), 0, base::ASCIIToUTF16("Digg"),
40 GURL("http://www.reddit.com")); 40 GURL("http://www.reddit.com"));
41 model_->AddURL(model_->other_node(), 0, base::ASCIIToUTF16("News"), 41 model_->AddURL(model_->other_node(), 0, base::ASCIIToUTF16("News"),
42 GURL("http://www.foxnews.com")); 42 GURL("http://www.foxnews.com"));
43 folder_ = model_->AddFolder( 43 folder_ = model_->AddFolder(
44 model_->other_node(), 0, base::ASCIIToUTF16("outer folder")); 44 model_->other_node(), 0, base::ASCIIToUTF16("outer folder"));
45 model_->AddFolder(folder_, 0, base::ASCIIToUTF16("inner folder 1")); 45 model_->AddFolder(folder_, 0, base::ASCIIToUTF16("inner folder 1"));
46 model_->AddFolder(folder_, 0, base::ASCIIToUTF16("inner folder 2")); 46 model_->AddFolder(folder_, 0, base::ASCIIToUTF16("inner folder 2"));
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 false, // Recurse. 124 false, // Recurse.
125 false)); // Only folders. 125 false)); // Only folders.
126 EXPECT_EQ("Chromium", tree->title); 126 EXPECT_EQ("Chromium", tree->title);
127 EXPECT_EQ("http://www.chromium.org/", *tree->url); 127 EXPECT_EQ("http://www.chromium.org/", *tree->url);
128 EXPECT_EQ(BookmarkTreeNode::UNMODIFIABLE_MANAGED, tree->unmodifiable); 128 EXPECT_EQ(BookmarkTreeNode::UNMODIFIABLE_MANAGED, tree->unmodifiable);
129 } 129 }
130 130
131 TEST_F(ExtensionBookmarksTest, RemoveNodeInvalidId) { 131 TEST_F(ExtensionBookmarksTest, RemoveNodeInvalidId) {
132 int64 invalid_id = model_->next_node_id(); 132 int64 invalid_id = model_->next_node_id();
133 std::string error; 133 std::string error;
134 EXPECT_FALSE(RemoveNode(client_, invalid_id, true, &error)); 134 EXPECT_FALSE(RemoveNode(model_, client_, invalid_id, true, &error));
135 EXPECT_EQ(keys::kNoNodeError, error); 135 EXPECT_EQ(keys::kNoNodeError, error);
136 } 136 }
137 137
138 TEST_F(ExtensionBookmarksTest, RemoveNodePermanent) { 138 TEST_F(ExtensionBookmarksTest, RemoveNodePermanent) {
139 std::string error; 139 std::string error;
140 EXPECT_FALSE(RemoveNode(client_, model_->other_node()->id(), true, &error)); 140 EXPECT_FALSE(
141 RemoveNode(model_, client_, model_->other_node()->id(), true, &error));
141 EXPECT_EQ(keys::kModifySpecialError, error); 142 EXPECT_EQ(keys::kModifySpecialError, error);
142 } 143 }
143 144
144 TEST_F(ExtensionBookmarksTest, RemoveNodeManaged) { 145 TEST_F(ExtensionBookmarksTest, RemoveNodeManaged) {
145 const BookmarkNode* managed_bookmark = 146 const BookmarkNode* managed_bookmark =
146 model_->AddURL(client_->managed_node(), 147 model_->AddURL(client_->managed_node(),
147 0, 148 0,
148 base::ASCIIToUTF16("Chromium"), 149 base::ASCIIToUTF16("Chromium"),
149 GURL("http://www.chromium.org")); 150 GURL("http://www.chromium.org"));
150 std::string error; 151 std::string error;
151 EXPECT_FALSE(RemoveNode(client_, managed_bookmark->id(), true, &error)); 152 EXPECT_FALSE(
153 RemoveNode(model_, client_, managed_bookmark->id(), true, &error));
152 EXPECT_EQ(keys::kModifyManagedError, error); 154 EXPECT_EQ(keys::kModifyManagedError, error);
153 } 155 }
154 156
155 TEST_F(ExtensionBookmarksTest, RemoveNodeNotRecursive) { 157 TEST_F(ExtensionBookmarksTest, RemoveNodeNotRecursive) {
156 std::string error; 158 std::string error;
157 EXPECT_FALSE(RemoveNode(client_, folder_->id(), false, &error)); 159 EXPECT_FALSE(RemoveNode(model_, client_, folder_->id(), false, &error));
158 EXPECT_EQ(keys::kFolderNotEmptyError, error); 160 EXPECT_EQ(keys::kFolderNotEmptyError, error);
159 } 161 }
160 162
161 TEST_F(ExtensionBookmarksTest, RemoveNodeRecursive) { 163 TEST_F(ExtensionBookmarksTest, RemoveNodeRecursive) {
162 EXPECT_EQ(3, model_->other_node()->child_count()); 164 EXPECT_EQ(3, model_->other_node()->child_count());
163 std::string error; 165 std::string error;
164 EXPECT_TRUE(RemoveNode(client_, folder_->id(), true, &error)); 166 EXPECT_TRUE(RemoveNode(model_, client_, folder_->id(), true, &error));
165 EXPECT_EQ(2, model_->other_node()->child_count()); 167 EXPECT_EQ(2, model_->other_node()->child_count());
166 } 168 }
167 169
168 } // namespace bookmark_api_helpers 170 } // namespace bookmark_api_helpers
169 } // namespace extensions 171 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698