OLD | NEW |
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.h" | 10 #include "chrome/browser/bookmarks/bookmark_model.h" |
| 11 #include "chrome/browser/bookmarks/test_bookmark_client.h" |
11 #include "chrome/browser/extensions/api/bookmarks/bookmark_api_constants.h" | 12 #include "chrome/browser/extensions/api/bookmarks/bookmark_api_constants.h" |
12 #include "chrome/common/extensions/api/bookmarks.h" | 13 #include "chrome/common/extensions/api/bookmarks.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
14 | 15 |
15 namespace extensions { | 16 namespace extensions { |
16 | 17 |
17 namespace keys = bookmark_api_constants; | 18 namespace keys = bookmark_api_constants; |
18 using api::bookmarks::BookmarkTreeNode; | 19 using api::bookmarks::BookmarkTreeNode; |
19 | 20 |
20 namespace bookmark_api_helpers { | 21 namespace bookmark_api_helpers { |
21 | 22 |
22 class ExtensionBookmarksTest : public testing::Test { | 23 class ExtensionBookmarksTest : public testing::Test { |
23 public: | 24 public: |
24 virtual void SetUp() OVERRIDE { | 25 virtual void SetUp() OVERRIDE { |
25 model_.reset(new BookmarkModel(NULL, false)); | 26 model_ = client_.CreateModel(false); |
26 model_->AddURL(model_->other_node(), 0, base::ASCIIToUTF16("Digg"), | 27 model_->AddURL(model_->other_node(), 0, base::ASCIIToUTF16("Digg"), |
27 GURL("http://www.reddit.com")); | 28 GURL("http://www.reddit.com")); |
28 model_->AddURL(model_->other_node(), 0, base::ASCIIToUTF16("News"), | 29 model_->AddURL(model_->other_node(), 0, base::ASCIIToUTF16("News"), |
29 GURL("http://www.foxnews.com")); | 30 GURL("http://www.foxnews.com")); |
30 folder_ = model_->AddFolder( | 31 folder_ = model_->AddFolder( |
31 model_->other_node(), 0, base::ASCIIToUTF16("outer folder")); | 32 model_->other_node(), 0, base::ASCIIToUTF16("outer folder")); |
32 model_->AddFolder(folder_, 0, base::ASCIIToUTF16("inner folder 1")); | 33 model_->AddFolder(folder_, 0, base::ASCIIToUTF16("inner folder 1")); |
33 model_->AddFolder(folder_, 0, base::ASCIIToUTF16("inner folder 2")); | 34 model_->AddFolder(folder_, 0, base::ASCIIToUTF16("inner folder 2")); |
34 model_->AddURL( | 35 model_->AddURL( |
35 folder_, 0, base::ASCIIToUTF16("Digg"), GURL("http://reddit.com")); | 36 folder_, 0, base::ASCIIToUTF16("Digg"), GURL("http://reddit.com")); |
36 model_->AddURL( | 37 model_->AddURL( |
37 folder_, 0, base::ASCIIToUTF16("CNet"), GURL("http://cnet.com")); | 38 folder_, 0, base::ASCIIToUTF16("CNet"), GURL("http://cnet.com")); |
38 } | 39 } |
39 | 40 |
| 41 test::TestBookmarkClient client_; |
40 scoped_ptr<BookmarkModel> model_; | 42 scoped_ptr<BookmarkModel> model_; |
41 const BookmarkNode* folder_; | 43 const BookmarkNode* folder_; |
42 }; | 44 }; |
43 TEST_F(ExtensionBookmarksTest, GetFullTreeFromRoot) { | 45 TEST_F(ExtensionBookmarksTest, GetFullTreeFromRoot) { |
44 scoped_ptr<BookmarkTreeNode> tree( | 46 scoped_ptr<BookmarkTreeNode> tree( |
45 GetBookmarkTreeNode(model_->other_node(), | 47 GetBookmarkTreeNode(model_->other_node(), |
46 true, // Recurse. | 48 true, // Recurse. |
47 false)); // Not only folders. | 49 false)); // Not only folders. |
48 ASSERT_EQ(3U, tree->children->size()); | 50 ASSERT_EQ(3U, tree->children->size()); |
49 } | 51 } |
(...skipping 23 matching lines...) Expand all Loading... |
73 true, // Recurse. | 75 true, // Recurse. |
74 true)); // Only folders. | 76 true)); // Only folders. |
75 ASSERT_EQ(2U, tree->children->size()); | 77 ASSERT_EQ(2U, tree->children->size()); |
76 linked_ptr<BookmarkTreeNode> inner_folder = tree->children->at(1); | 78 linked_ptr<BookmarkTreeNode> inner_folder = tree->children->at(1); |
77 ASSERT_TRUE(inner_folder.get()); | 79 ASSERT_TRUE(inner_folder.get()); |
78 ASSERT_EQ("inner folder 1", inner_folder->title); | 80 ASSERT_EQ("inner folder 1", inner_folder->title); |
79 } | 81 } |
80 | 82 |
81 } // namespace bookmark_api_helpers | 83 } // namespace bookmark_api_helpers |
82 } // namespace extensions | 84 } // namespace extensions |
OLD | NEW |