| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/android/bookmarks/partner_bookmarks_shim.h" | 5 #include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/memory/ptr_util.h" |
| 10 #include "base/strings/string16.h" | 11 #include "base/strings/string16.h" |
| 11 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
| 12 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 13 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
| 13 #include "chrome/test/base/testing_profile.h" | 14 #include "chrome/test/base/testing_profile.h" |
| 14 #include "components/bookmarks/browser/bookmark_model.h" | 15 #include "components/bookmarks/browser/bookmark_model.h" |
| 15 #include "components/bookmarks/test/bookmark_test_helpers.h" | 16 #include "components/bookmarks/test/bookmark_test_helpers.h" |
| 16 #include "content/public/browser/browser_thread.h" | 17 #include "content/public/browser/browser_thread.h" |
| 17 #include "content/public/test/test_browser_thread.h" | 18 #include "content/public/test/test_browser_thread.h" |
| 18 #include "content/public/test/test_browser_thread_bundle.h" | 19 #include "content/public/test/test_browser_thread_bundle.h" |
| 19 #include "testing/gmock/include/gmock/gmock.h" | 20 #include "testing/gmock/include/gmock/gmock.h" |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 content::TestBrowserThreadBundle thread_bundle_; | 82 content::TestBrowserThreadBundle thread_bundle_; |
| 82 | 83 |
| 83 BookmarkModel* model_; | 84 BookmarkModel* model_; |
| 84 MockObserver observer_; | 85 MockObserver observer_; |
| 85 | 86 |
| 86 private: | 87 private: |
| 87 DISALLOW_COPY_AND_ASSIGN(PartnerBookmarksShimTest); | 88 DISALLOW_COPY_AND_ASSIGN(PartnerBookmarksShimTest); |
| 88 }; | 89 }; |
| 89 | 90 |
| 90 TEST_F(PartnerBookmarksShimTest, GetNodeByID) { | 91 TEST_F(PartnerBookmarksShimTest, GetNodeByID) { |
| 91 BookmarkNode* root_partner_node = new BookmarkPermanentNode(0); | 92 std::unique_ptr<BookmarkPermanentNode> root_partner_node = |
| 92 BookmarkNode* partner_folder1 = new BookmarkNode(1, GURL()); | 93 base::MakeUnique<BookmarkPermanentNode>(0); |
| 94 BookmarkPermanentNode* root_partner_node_ptr = root_partner_node.get(); |
| 95 BookmarkNode* partner_folder1 = |
| 96 root_partner_node->Add(base::MakeUnique<BookmarkNode>(1, GURL()), |
| 97 root_partner_node->child_count()); |
| 93 partner_folder1->set_type(BookmarkNode::FOLDER); | 98 partner_folder1->set_type(BookmarkNode::FOLDER); |
| 94 root_partner_node->Add(partner_folder1, root_partner_node->child_count()); | |
| 95 | 99 |
| 96 BookmarkNode* partner_folder2 = new BookmarkNode(2, GURL()); | 100 BookmarkNode* partner_folder2 = |
| 101 partner_folder1->Add(base::MakeUnique<BookmarkNode>(2, GURL()), |
| 102 partner_folder1->child_count()); |
| 97 partner_folder2->set_type(BookmarkNode::FOLDER); | 103 partner_folder2->set_type(BookmarkNode::FOLDER); |
| 98 partner_folder1->Add(partner_folder2, partner_folder1->child_count()); | |
| 99 | 104 |
| 100 BookmarkNode* partner_bookmark1 = new BookmarkNode(3, | 105 BookmarkNode* partner_bookmark1 = partner_folder1->Add( |
| 101 GURL("http://www.a.com")); | 106 base::MakeUnique<BookmarkNode>(3, GURL("http://www.a.com")), |
| 107 partner_folder1->child_count()); |
| 102 partner_bookmark1->set_type(BookmarkNode::URL); | 108 partner_bookmark1->set_type(BookmarkNode::URL); |
| 103 partner_folder1->Add(partner_bookmark1, partner_folder1->child_count()); | |
| 104 | 109 |
| 105 BookmarkNode* partner_bookmark2 = new BookmarkNode(4, | 110 BookmarkNode* partner_bookmark2 = partner_folder2->Add( |
| 106 GURL("http://www.b.com")); | 111 base::MakeUnique<BookmarkNode>(4, GURL("http://www.b.com")), |
| 112 partner_folder2->child_count()); |
| 107 partner_bookmark2->set_type(BookmarkNode::URL); | 113 partner_bookmark2->set_type(BookmarkNode::URL); |
| 108 partner_folder2->Add(partner_bookmark2, partner_folder2->child_count()); | |
| 109 | 114 |
| 110 PartnerBookmarksShim* shim = partner_bookmarks_shim(); | 115 PartnerBookmarksShim* shim = partner_bookmarks_shim(); |
| 111 ASSERT_FALSE(shim->IsLoaded()); | 116 ASSERT_FALSE(shim->IsLoaded()); |
| 112 shim->SetPartnerBookmarksRoot(root_partner_node); | 117 shim->SetPartnerBookmarksRoot(std::move(root_partner_node)); |
| 113 ASSERT_TRUE(shim->IsLoaded()); | 118 ASSERT_TRUE(shim->IsLoaded()); |
| 114 | 119 |
| 115 ASSERT_TRUE(shim->IsPartnerBookmark(root_partner_node)); | 120 ASSERT_TRUE(shim->IsPartnerBookmark(root_partner_node_ptr)); |
| 116 ASSERT_EQ(shim->GetNodeByID(0), root_partner_node); | 121 ASSERT_EQ(shim->GetNodeByID(0), root_partner_node_ptr); |
| 117 ASSERT_EQ(shim->GetNodeByID(1), partner_folder1); | 122 ASSERT_EQ(shim->GetNodeByID(1), partner_folder1); |
| 118 ASSERT_EQ(shim->GetNodeByID(4), partner_bookmark2); | 123 ASSERT_EQ(shim->GetNodeByID(4), partner_bookmark2); |
| 119 } | 124 } |
| 120 | 125 |
| 121 TEST_F(PartnerBookmarksShimTest, ObserverNotifiedOfLoadNoPartnerBookmarks) { | 126 TEST_F(PartnerBookmarksShimTest, ObserverNotifiedOfLoadNoPartnerBookmarks) { |
| 122 EXPECT_CALL(observer_, PartnerShimLoaded(_)).Times(0); | 127 EXPECT_CALL(observer_, PartnerShimLoaded(_)).Times(0); |
| 123 PartnerBookmarksShim* shim = partner_bookmarks_shim(); | 128 PartnerBookmarksShim* shim = partner_bookmarks_shim(); |
| 124 shim->AddObserver(&observer_); | 129 shim->AddObserver(&observer_); |
| 125 | 130 |
| 126 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); | 131 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); |
| 127 shim->SetPartnerBookmarksRoot(NULL); | 132 shim->SetPartnerBookmarksRoot(NULL); |
| 128 } | 133 } |
| 129 | 134 |
| 130 TEST_F(PartnerBookmarksShimTest, ObserverNotifiedOfLoadWithPartnerBookmarks) { | 135 TEST_F(PartnerBookmarksShimTest, ObserverNotifiedOfLoadWithPartnerBookmarks) { |
| 131 EXPECT_CALL(observer_, PartnerShimLoaded(_)).Times(0); | 136 EXPECT_CALL(observer_, PartnerShimLoaded(_)).Times(0); |
| 132 int64_t id = 5; | 137 int64_t id = 5; |
| 133 BookmarkNode* root_partner_node = new BookmarkPermanentNode(id++); | 138 std::unique_ptr<BookmarkPermanentNode> root_partner_node = |
| 134 BookmarkNode* partner_bookmark1 = new BookmarkNode(id++, | 139 base::MakeUnique<BookmarkPermanentNode>(id++); |
| 135 GURL("http://www.a.com")); | 140 |
| 141 BookmarkNode* partner_bookmark1 = root_partner_node->Add( |
| 142 base::MakeUnique<BookmarkNode>(id++, GURL("http://www.a.com")), |
| 143 root_partner_node->child_count()); |
| 136 partner_bookmark1->set_type(BookmarkNode::URL); | 144 partner_bookmark1->set_type(BookmarkNode::URL); |
| 137 root_partner_node->Add(partner_bookmark1, root_partner_node->child_count()); | |
| 138 | 145 |
| 139 PartnerBookmarksShim* shim = partner_bookmarks_shim(); | 146 PartnerBookmarksShim* shim = partner_bookmarks_shim(); |
| 140 shim->AddObserver(&observer_); | 147 shim->AddObserver(&observer_); |
| 141 | 148 |
| 142 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); | 149 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); |
| 143 shim->SetPartnerBookmarksRoot(root_partner_node); | 150 shim->SetPartnerBookmarksRoot(std::move(root_partner_node)); |
| 144 } | 151 } |
| 145 | 152 |
| 146 TEST_F(PartnerBookmarksShimTest, RemoveBookmarks) { | 153 TEST_F(PartnerBookmarksShimTest, RemoveBookmarks) { |
| 147 PartnerBookmarksShim* shim = partner_bookmarks_shim(); | 154 PartnerBookmarksShim* shim = partner_bookmarks_shim(); |
| 148 shim->AddObserver(&observer_); | 155 shim->AddObserver(&observer_); |
| 149 | 156 |
| 150 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0); | 157 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0); |
| 151 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0); | 158 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0); |
| 152 | 159 |
| 153 BookmarkNode* root_partner_node = new BookmarkPermanentNode(0); | 160 std::unique_ptr<BookmarkPermanentNode> root_partner_node = |
| 161 base::MakeUnique<BookmarkPermanentNode>(0); |
| 162 BookmarkPermanentNode* root_partner_node_ptr = root_partner_node.get(); |
| 154 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks")); | 163 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks")); |
| 155 | 164 |
| 156 BookmarkNode* partner_folder1 = new BookmarkNode(1, GURL("http://www.a.net")); | 165 BookmarkNode* partner_folder1 = root_partner_node->Add( |
| 166 base::MakeUnique<BookmarkNode>(1, GURL("http://www.a.net")), |
| 167 root_partner_node->child_count()); |
| 157 partner_folder1->set_type(BookmarkNode::FOLDER); | 168 partner_folder1->set_type(BookmarkNode::FOLDER); |
| 158 root_partner_node->Add(partner_folder1, root_partner_node->child_count()); | |
| 159 | 169 |
| 160 BookmarkNode* partner_folder2 = new BookmarkNode(2, GURL("http://www.b.net")); | 170 BookmarkNode* partner_folder2 = root_partner_node->Add( |
| 171 base::MakeUnique<BookmarkNode>(2, GURL("http://www.b.net")), |
| 172 root_partner_node->child_count()); |
| 161 partner_folder2->set_type(BookmarkNode::FOLDER); | 173 partner_folder2->set_type(BookmarkNode::FOLDER); |
| 162 root_partner_node->Add(partner_folder2, root_partner_node->child_count()); | |
| 163 | 174 |
| 164 BookmarkNode* partner_bookmark1 = new BookmarkNode(3, | 175 BookmarkNode* partner_bookmark1 = partner_folder1->Add( |
| 165 GURL("http://www.a.com")); | 176 base::MakeUnique<BookmarkNode>(3, GURL("http://www.a.com")), |
| 177 partner_folder1->child_count()); |
| 166 partner_bookmark1->set_type(BookmarkNode::URL); | 178 partner_bookmark1->set_type(BookmarkNode::URL); |
| 167 partner_folder1->Add(partner_bookmark1, partner_folder1->child_count()); | |
| 168 | 179 |
| 169 BookmarkNode* partner_bookmark2 = new BookmarkNode(4, | 180 BookmarkNode* partner_bookmark2 = partner_folder2->Add( |
| 170 GURL("http://www.b.com")); | 181 base::MakeUnique<BookmarkNode>(4, GURL("http://www.b.com")), |
| 182 partner_folder2->child_count()); |
| 171 partner_bookmark2->set_type(BookmarkNode::URL); | 183 partner_bookmark2->set_type(BookmarkNode::URL); |
| 172 partner_folder2->Add(partner_bookmark2, partner_folder2->child_count()); | |
| 173 | 184 |
| 174 BookmarkNode* partner_folder3 = new BookmarkNode(5, GURL("http://www.c.net")); | 185 BookmarkNode* partner_folder3 = partner_folder2->Add( |
| 186 base::MakeUnique<BookmarkNode>(5, GURL("http://www.c.net")), |
| 187 partner_folder2->child_count()); |
| 175 partner_folder3->set_type(BookmarkNode::FOLDER); | 188 partner_folder3->set_type(BookmarkNode::FOLDER); |
| 176 partner_folder2->Add(partner_folder3, partner_folder2->child_count()); | |
| 177 | 189 |
| 178 BookmarkNode* partner_bookmark3 = new BookmarkNode(6, | 190 BookmarkNode* partner_bookmark3 = partner_folder3->Add( |
| 179 GURL("http://www.c.com")); | 191 base::MakeUnique<BookmarkNode>(6, GURL("http://www.c.com")), |
| 192 partner_folder3->child_count()); |
| 180 partner_bookmark3->set_type(BookmarkNode::URL); | 193 partner_bookmark3->set_type(BookmarkNode::URL); |
| 181 partner_folder3->Add(partner_bookmark3, partner_folder3->child_count()); | |
| 182 | 194 |
| 183 ASSERT_FALSE(shim->IsLoaded()); | 195 ASSERT_FALSE(shim->IsLoaded()); |
| 184 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); | 196 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); |
| 185 shim->SetPartnerBookmarksRoot(root_partner_node); | 197 shim->SetPartnerBookmarksRoot(std::move(root_partner_node)); |
| 186 ASSERT_TRUE(shim->IsLoaded()); | 198 ASSERT_TRUE(shim->IsLoaded()); |
| 187 | 199 |
| 188 EXPECT_EQ(root_partner_node, shim->GetNodeByID(0)); | 200 EXPECT_EQ(root_partner_node_ptr, shim->GetNodeByID(0)); |
| 189 EXPECT_EQ(partner_folder1, shim->GetNodeByID(1)); | 201 EXPECT_EQ(partner_folder1, shim->GetNodeByID(1)); |
| 190 EXPECT_EQ(partner_folder2, shim->GetNodeByID(2)); | 202 EXPECT_EQ(partner_folder2, shim->GetNodeByID(2)); |
| 191 EXPECT_EQ(partner_bookmark1, shim->GetNodeByID(3)); | 203 EXPECT_EQ(partner_bookmark1, shim->GetNodeByID(3)); |
| 192 EXPECT_EQ(partner_bookmark2, shim->GetNodeByID(4)); | 204 EXPECT_EQ(partner_bookmark2, shim->GetNodeByID(4)); |
| 193 EXPECT_EQ(partner_folder3, shim->GetNodeByID(5)); | 205 EXPECT_EQ(partner_folder3, shim->GetNodeByID(5)); |
| 194 EXPECT_EQ(partner_bookmark3, shim->GetNodeByID(6)); | 206 EXPECT_EQ(partner_bookmark3, shim->GetNodeByID(6)); |
| 195 | 207 |
| 196 EXPECT_TRUE(shim->IsReachable(root_partner_node)); | 208 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr)); |
| 197 EXPECT_TRUE(shim->IsReachable(partner_folder1)); | 209 EXPECT_TRUE(shim->IsReachable(partner_folder1)); |
| 198 EXPECT_TRUE(shim->IsReachable(partner_folder2)); | 210 EXPECT_TRUE(shim->IsReachable(partner_folder2)); |
| 199 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); | 211 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); |
| 200 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); | 212 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); |
| 201 EXPECT_TRUE(shim->IsReachable(partner_folder3)); | 213 EXPECT_TRUE(shim->IsReachable(partner_folder3)); |
| 202 EXPECT_TRUE(shim->IsReachable(partner_bookmark3)); | 214 EXPECT_TRUE(shim->IsReachable(partner_bookmark3)); |
| 203 | 215 |
| 204 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); | 216 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); |
| 205 shim->RemoveBookmark(partner_bookmark2); | 217 shim->RemoveBookmark(partner_bookmark2); |
| 206 EXPECT_TRUE(shim->IsReachable(root_partner_node)); | 218 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr)); |
| 207 EXPECT_TRUE(shim->IsReachable(partner_folder1)); | 219 EXPECT_TRUE(shim->IsReachable(partner_folder1)); |
| 208 EXPECT_TRUE(shim->IsReachable(partner_folder2)); | 220 EXPECT_TRUE(shim->IsReachable(partner_folder2)); |
| 209 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); | 221 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); |
| 210 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); | 222 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); |
| 211 EXPECT_TRUE(shim->IsReachable(partner_folder3)); | 223 EXPECT_TRUE(shim->IsReachable(partner_folder3)); |
| 212 EXPECT_TRUE(shim->IsReachable(partner_bookmark3)); | 224 EXPECT_TRUE(shim->IsReachable(partner_bookmark3)); |
| 213 | 225 |
| 214 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); | 226 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); |
| 215 shim->RemoveBookmark(partner_folder1); | 227 shim->RemoveBookmark(partner_folder1); |
| 216 EXPECT_TRUE(shim->IsReachable(root_partner_node)); | 228 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr)); |
| 217 EXPECT_FALSE(shim->IsReachable(partner_folder1)); | 229 EXPECT_FALSE(shim->IsReachable(partner_folder1)); |
| 218 EXPECT_TRUE(shim->IsReachable(partner_folder2)); | 230 EXPECT_TRUE(shim->IsReachable(partner_folder2)); |
| 219 EXPECT_FALSE(shim->IsReachable(partner_bookmark1)); | 231 EXPECT_FALSE(shim->IsReachable(partner_bookmark1)); |
| 220 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); | 232 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); |
| 221 EXPECT_TRUE(shim->IsReachable(partner_folder3)); | 233 EXPECT_TRUE(shim->IsReachable(partner_folder3)); |
| 222 EXPECT_TRUE(shim->IsReachable(partner_bookmark3)); | 234 EXPECT_TRUE(shim->IsReachable(partner_bookmark3)); |
| 223 | 235 |
| 224 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); | 236 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); |
| 225 shim->RemoveBookmark(root_partner_node); | 237 shim->RemoveBookmark(root_partner_node_ptr); |
| 226 EXPECT_FALSE(shim->IsReachable(root_partner_node)); | 238 EXPECT_FALSE(shim->IsReachable(root_partner_node_ptr)); |
| 227 EXPECT_FALSE(shim->IsReachable(partner_folder1)); | 239 EXPECT_FALSE(shim->IsReachable(partner_folder1)); |
| 228 EXPECT_FALSE(shim->IsReachable(partner_folder2)); | 240 EXPECT_FALSE(shim->IsReachable(partner_folder2)); |
| 229 EXPECT_FALSE(shim->IsReachable(partner_bookmark1)); | 241 EXPECT_FALSE(shim->IsReachable(partner_bookmark1)); |
| 230 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); | 242 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); |
| 231 EXPECT_FALSE(shim->IsReachable(partner_folder3)); | 243 EXPECT_FALSE(shim->IsReachable(partner_folder3)); |
| 232 EXPECT_FALSE(shim->IsReachable(partner_bookmark3)); | 244 EXPECT_FALSE(shim->IsReachable(partner_bookmark3)); |
| 233 } | 245 } |
| 234 | 246 |
| 235 TEST_F(PartnerBookmarksShimTest, RenameBookmarks) { | 247 TEST_F(PartnerBookmarksShimTest, RenameBookmarks) { |
| 236 PartnerBookmarksShim* shim = partner_bookmarks_shim(); | 248 PartnerBookmarksShim* shim = partner_bookmarks_shim(); |
| 237 shim->AddObserver(&observer_); | 249 shim->AddObserver(&observer_); |
| 238 | 250 |
| 239 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0); | 251 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0); |
| 240 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0); | 252 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0); |
| 241 | 253 |
| 242 BookmarkNode* root_partner_node = new BookmarkPermanentNode(0); | 254 std::unique_ptr<BookmarkPermanentNode> root_partner_node = |
| 255 base::MakeUnique<BookmarkPermanentNode>(0); |
| 256 BookmarkPermanentNode* root_partner_node_ptr = root_partner_node.get(); |
| 243 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks")); | 257 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks")); |
| 244 | 258 |
| 245 BookmarkNode* partner_folder1 = new BookmarkNode(1, GURL("http://www.a.net")); | 259 BookmarkNode* partner_folder1 = root_partner_node->Add( |
| 260 base::MakeUnique<BookmarkNode>(1, GURL("http://www.a.net")), |
| 261 root_partner_node->child_count()); |
| 246 partner_folder1->set_type(BookmarkNode::FOLDER); | 262 partner_folder1->set_type(BookmarkNode::FOLDER); |
| 247 partner_folder1->SetTitle(base::ASCIIToUTF16("a.net")); | 263 partner_folder1->SetTitle(base::ASCIIToUTF16("a.net")); |
| 248 root_partner_node->Add(partner_folder1, root_partner_node->child_count()); | |
| 249 | 264 |
| 250 BookmarkNode* partner_folder2 = new BookmarkNode(2, GURL("http://www.b.net")); | 265 BookmarkNode* partner_folder2 = root_partner_node->Add( |
| 266 base::MakeUnique<BookmarkNode>(2, GURL("http://www.b.net")), |
| 267 root_partner_node->child_count()); |
| 251 partner_folder2->set_type(BookmarkNode::FOLDER); | 268 partner_folder2->set_type(BookmarkNode::FOLDER); |
| 252 partner_folder2->SetTitle(base::ASCIIToUTF16("b.net")); | 269 partner_folder2->SetTitle(base::ASCIIToUTF16("b.net")); |
| 253 root_partner_node->Add(partner_folder2, root_partner_node->child_count()); | |
| 254 | 270 |
| 255 BookmarkNode* partner_bookmark1 = new BookmarkNode(3, | 271 BookmarkNode* partner_bookmark1 = partner_folder1->Add( |
| 256 GURL("http://www.a.com")); | 272 base::MakeUnique<BookmarkNode>(3, GURL("http://www.a.com")), |
| 273 partner_folder1->child_count()); |
| 257 partner_bookmark1->set_type(BookmarkNode::URL); | 274 partner_bookmark1->set_type(BookmarkNode::URL); |
| 258 partner_bookmark1->SetTitle(base::ASCIIToUTF16("a.com")); | 275 partner_bookmark1->SetTitle(base::ASCIIToUTF16("a.com")); |
| 259 partner_folder1->Add(partner_bookmark1, partner_folder1->child_count()); | |
| 260 | 276 |
| 261 BookmarkNode* partner_bookmark2 = new BookmarkNode(4, | 277 BookmarkNode* partner_bookmark2 = partner_folder2->Add( |
| 262 GURL("http://www.b.com")); | 278 base::MakeUnique<BookmarkNode>(4, GURL("http://www.b.com")), |
| 279 partner_folder2->child_count()); |
| 263 partner_bookmark2->set_type(BookmarkNode::URL); | 280 partner_bookmark2->set_type(BookmarkNode::URL); |
| 264 partner_bookmark2->SetTitle(base::ASCIIToUTF16("b.com")); | 281 partner_bookmark2->SetTitle(base::ASCIIToUTF16("b.com")); |
| 265 partner_folder2->Add(partner_bookmark2, partner_folder2->child_count()); | |
| 266 | 282 |
| 267 ASSERT_FALSE(shim->IsLoaded()); | 283 ASSERT_FALSE(shim->IsLoaded()); |
| 268 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); | 284 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); |
| 269 shim->SetPartnerBookmarksRoot(root_partner_node); | 285 shim->SetPartnerBookmarksRoot(std::move(root_partner_node)); |
| 270 ASSERT_TRUE(shim->IsLoaded()); | 286 ASSERT_TRUE(shim->IsLoaded()); |
| 271 | 287 |
| 272 EXPECT_EQ(root_partner_node, shim->GetNodeByID(0)); | 288 EXPECT_EQ(root_partner_node_ptr, shim->GetNodeByID(0)); |
| 273 EXPECT_EQ(partner_folder1, shim->GetNodeByID(1)); | 289 EXPECT_EQ(partner_folder1, shim->GetNodeByID(1)); |
| 274 EXPECT_EQ(partner_folder2, shim->GetNodeByID(2)); | 290 EXPECT_EQ(partner_folder2, shim->GetNodeByID(2)); |
| 275 EXPECT_EQ(partner_bookmark1, shim->GetNodeByID(3)); | 291 EXPECT_EQ(partner_bookmark1, shim->GetNodeByID(3)); |
| 276 EXPECT_EQ(partner_bookmark2, shim->GetNodeByID(4)); | 292 EXPECT_EQ(partner_bookmark2, shim->GetNodeByID(4)); |
| 277 | 293 |
| 278 EXPECT_TRUE(shim->IsReachable(root_partner_node)); | 294 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr)); |
| 279 EXPECT_TRUE(shim->IsReachable(partner_folder1)); | 295 EXPECT_TRUE(shim->IsReachable(partner_folder1)); |
| 280 EXPECT_TRUE(shim->IsReachable(partner_folder2)); | 296 EXPECT_TRUE(shim->IsReachable(partner_folder2)); |
| 281 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); | 297 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); |
| 282 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); | 298 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); |
| 283 | 299 |
| 284 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); | 300 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); |
| 285 EXPECT_EQ(base::ASCIIToUTF16("b.com"), shim->GetTitle(partner_bookmark2)); | 301 EXPECT_EQ(base::ASCIIToUTF16("b.com"), shim->GetTitle(partner_bookmark2)); |
| 286 shim->RenameBookmark(partner_bookmark2, base::ASCIIToUTF16("b2.com")); | 302 shim->RenameBookmark(partner_bookmark2, base::ASCIIToUTF16("b2.com")); |
| 287 EXPECT_EQ(base::ASCIIToUTF16("b2.com"), shim->GetTitle(partner_bookmark2)); | 303 EXPECT_EQ(base::ASCIIToUTF16("b2.com"), shim->GetTitle(partner_bookmark2)); |
| 288 | 304 |
| 289 EXPECT_TRUE(shim->IsReachable(root_partner_node)); | 305 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr)); |
| 290 EXPECT_TRUE(shim->IsReachable(partner_folder1)); | 306 EXPECT_TRUE(shim->IsReachable(partner_folder1)); |
| 291 EXPECT_TRUE(shim->IsReachable(partner_folder2)); | 307 EXPECT_TRUE(shim->IsReachable(partner_folder2)); |
| 292 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); | 308 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); |
| 293 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); | 309 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); |
| 294 | 310 |
| 295 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); | 311 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); |
| 296 EXPECT_EQ(base::ASCIIToUTF16("a.net"), shim->GetTitle(partner_folder1)); | 312 EXPECT_EQ(base::ASCIIToUTF16("a.net"), shim->GetTitle(partner_folder1)); |
| 297 shim->RenameBookmark(partner_folder1, base::ASCIIToUTF16("a2.net")); | 313 shim->RenameBookmark(partner_folder1, base::ASCIIToUTF16("a2.net")); |
| 298 EXPECT_EQ(base::ASCIIToUTF16("a2.net"), shim->GetTitle(partner_folder1)); | 314 EXPECT_EQ(base::ASCIIToUTF16("a2.net"), shim->GetTitle(partner_folder1)); |
| 299 | 315 |
| 300 EXPECT_TRUE(shim->IsReachable(root_partner_node)); | 316 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr)); |
| 301 EXPECT_TRUE(shim->IsReachable(partner_folder1)); | 317 EXPECT_TRUE(shim->IsReachable(partner_folder1)); |
| 302 EXPECT_TRUE(shim->IsReachable(partner_folder2)); | 318 EXPECT_TRUE(shim->IsReachable(partner_folder2)); |
| 303 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); | 319 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); |
| 304 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); | 320 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); |
| 305 | 321 |
| 306 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); | 322 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(1); |
| 307 EXPECT_EQ(base::ASCIIToUTF16("Partner bookmarks"), | 323 EXPECT_EQ(base::ASCIIToUTF16("Partner bookmarks"), |
| 308 shim->GetTitle(root_partner_node)); | 324 shim->GetTitle(root_partner_node_ptr)); |
| 309 shim->RenameBookmark(root_partner_node, base::ASCIIToUTF16("Partner")); | 325 shim->RenameBookmark(root_partner_node_ptr, base::ASCIIToUTF16("Partner")); |
| 310 EXPECT_EQ(base::ASCIIToUTF16("Partner"), shim->GetTitle(root_partner_node)); | 326 EXPECT_EQ(base::ASCIIToUTF16("Partner"), |
| 327 shim->GetTitle(root_partner_node_ptr)); |
| 311 | 328 |
| 312 EXPECT_TRUE(shim->IsReachable(root_partner_node)); | 329 EXPECT_TRUE(shim->IsReachable(root_partner_node_ptr)); |
| 313 EXPECT_TRUE(shim->IsReachable(partner_folder1)); | 330 EXPECT_TRUE(shim->IsReachable(partner_folder1)); |
| 314 EXPECT_TRUE(shim->IsReachable(partner_folder2)); | 331 EXPECT_TRUE(shim->IsReachable(partner_folder2)); |
| 315 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); | 332 EXPECT_TRUE(shim->IsReachable(partner_bookmark1)); |
| 316 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); | 333 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); |
| 317 } | 334 } |
| 318 | 335 |
| 319 TEST_F(PartnerBookmarksShimTest, SaveLoadProfile) { | 336 TEST_F(PartnerBookmarksShimTest, SaveLoadProfile) { |
| 320 { | 337 { |
| 321 PartnerBookmarksShim* shim = partner_bookmarks_shim(); | 338 PartnerBookmarksShim* shim = partner_bookmarks_shim(); |
| 322 shim->AddObserver(&observer_); | 339 shim->AddObserver(&observer_); |
| 323 | 340 |
| 324 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0); | 341 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0); |
| 325 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0); | 342 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0); |
| 326 | 343 |
| 327 BookmarkNode* root_partner_node = new BookmarkPermanentNode(0); | 344 std::unique_ptr<BookmarkPermanentNode> root_partner_node = |
| 345 base::MakeUnique<BookmarkPermanentNode>(0); |
| 328 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks")); | 346 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks")); |
| 329 | 347 |
| 330 BookmarkNode* partner_folder1 = new BookmarkNode(1, GURL("http://a.net")); | 348 BookmarkNode* partner_folder1 = root_partner_node->Add( |
| 349 base::MakeUnique<BookmarkNode>(1, GURL("http://a.net")), |
| 350 root_partner_node->child_count()); |
| 331 partner_folder1->set_type(BookmarkNode::FOLDER); | 351 partner_folder1->set_type(BookmarkNode::FOLDER); |
| 332 partner_folder1->SetTitle(base::ASCIIToUTF16("a.net")); | 352 partner_folder1->SetTitle(base::ASCIIToUTF16("a.net")); |
| 333 root_partner_node->Add(partner_folder1, root_partner_node->child_count()); | |
| 334 | 353 |
| 335 BookmarkNode* partner_bookmark1 = new BookmarkNode(3, | 354 BookmarkNode* partner_bookmark1 = partner_folder1->Add( |
| 336 GURL("http://a.com")); | 355 base::MakeUnique<BookmarkNode>(3, GURL("http://a.com")), |
| 356 partner_folder1->child_count()); |
| 337 partner_bookmark1->set_type(BookmarkNode::URL); | 357 partner_bookmark1->set_type(BookmarkNode::URL); |
| 338 partner_bookmark1->SetTitle(base::ASCIIToUTF16("a.com")); | 358 partner_bookmark1->SetTitle(base::ASCIIToUTF16("a.com")); |
| 339 partner_folder1->Add(partner_bookmark1, partner_folder1->child_count()); | |
| 340 | 359 |
| 341 BookmarkNode* partner_bookmark2 = new BookmarkNode(5, | 360 BookmarkNode* partner_bookmark2 = partner_folder1->Add( |
| 342 GURL("http://b.com")); | 361 base::MakeUnique<BookmarkNode>(5, GURL("http://b.com")), |
| 362 partner_folder1->child_count()); |
| 343 partner_bookmark2->set_type(BookmarkNode::URL); | 363 partner_bookmark2->set_type(BookmarkNode::URL); |
| 344 partner_bookmark2->SetTitle(base::ASCIIToUTF16("b.com")); | 364 partner_bookmark2->SetTitle(base::ASCIIToUTF16("b.com")); |
| 345 partner_folder1->Add(partner_bookmark2, partner_folder1->child_count()); | |
| 346 | 365 |
| 347 ASSERT_FALSE(shim->IsLoaded()); | 366 ASSERT_FALSE(shim->IsLoaded()); |
| 348 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); | 367 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); |
| 349 shim->SetPartnerBookmarksRoot(root_partner_node); | 368 shim->SetPartnerBookmarksRoot(std::move(root_partner_node)); |
| 350 ASSERT_TRUE(shim->IsLoaded()); | 369 ASSERT_TRUE(shim->IsLoaded()); |
| 351 | 370 |
| 352 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(2); | 371 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(2); |
| 353 shim->RenameBookmark(partner_bookmark1, base::ASCIIToUTF16("a2.com")); | 372 shim->RenameBookmark(partner_bookmark1, base::ASCIIToUTF16("a2.com")); |
| 354 shim->RemoveBookmark(partner_bookmark2); | 373 shim->RemoveBookmark(partner_bookmark2); |
| 355 EXPECT_EQ(base::ASCIIToUTF16("a2.com"), shim->GetTitle(partner_bookmark1)); | 374 EXPECT_EQ(base::ASCIIToUTF16("a2.com"), shim->GetTitle(partner_bookmark1)); |
| 356 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); | 375 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); |
| 357 } | 376 } |
| 358 | 377 |
| 359 PartnerBookmarksShim::ClearInBrowserContextForTesting(profile_.get()); | 378 PartnerBookmarksShim::ClearInBrowserContextForTesting(profile_.get()); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 374 } | 393 } |
| 375 } | 394 } |
| 376 | 395 |
| 377 TEST_F(PartnerBookmarksShimTest, DisableEditing) { | 396 TEST_F(PartnerBookmarksShimTest, DisableEditing) { |
| 378 PartnerBookmarksShim* shim = partner_bookmarks_shim(); | 397 PartnerBookmarksShim* shim = partner_bookmarks_shim(); |
| 379 shim->AddObserver(&observer_); | 398 shim->AddObserver(&observer_); |
| 380 | 399 |
| 381 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0); | 400 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(0); |
| 382 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0); | 401 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(0); |
| 383 | 402 |
| 384 BookmarkNode* root_partner_node = new BookmarkPermanentNode(0); | 403 std::unique_ptr<BookmarkPermanentNode> root_partner_node = |
| 404 base::MakeUnique<BookmarkPermanentNode>(0); |
| 385 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks")); | 405 root_partner_node->SetTitle(base::ASCIIToUTF16("Partner bookmarks")); |
| 386 | 406 |
| 387 BookmarkNode* partner_bookmark1 = new BookmarkNode(3, GURL("http://a")); | 407 BookmarkNode* partner_bookmark1 = root_partner_node->Add( |
| 408 base::MakeUnique<BookmarkNode>(3, GURL("http://a")), |
| 409 root_partner_node->child_count()); |
| 388 partner_bookmark1->set_type(BookmarkNode::URL); | 410 partner_bookmark1->set_type(BookmarkNode::URL); |
| 389 partner_bookmark1->SetTitle(base::ASCIIToUTF16("a")); | 411 partner_bookmark1->SetTitle(base::ASCIIToUTF16("a")); |
| 390 root_partner_node->Add(partner_bookmark1, root_partner_node->child_count()); | |
| 391 | 412 |
| 392 BookmarkNode* partner_bookmark2 = new BookmarkNode(3, GURL("http://b")); | 413 BookmarkNode* partner_bookmark2 = root_partner_node->Add( |
| 414 base::MakeUnique<BookmarkNode>(3, GURL("http://b")), |
| 415 root_partner_node->child_count()); |
| 393 partner_bookmark2->set_type(BookmarkNode::URL); | 416 partner_bookmark2->set_type(BookmarkNode::URL); |
| 394 partner_bookmark2->SetTitle(base::ASCIIToUTF16("b")); | 417 partner_bookmark2->SetTitle(base::ASCIIToUTF16("b")); |
| 395 root_partner_node->Add(partner_bookmark2, root_partner_node->child_count()); | |
| 396 | 418 |
| 397 ASSERT_FALSE(shim->IsLoaded()); | 419 ASSERT_FALSE(shim->IsLoaded()); |
| 398 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); | 420 EXPECT_CALL(observer_, PartnerShimLoaded(shim)).Times(1); |
| 399 shim->SetPartnerBookmarksRoot(root_partner_node); | 421 shim->SetPartnerBookmarksRoot(std::move(root_partner_node)); |
| 400 ASSERT_TRUE(shim->IsLoaded()); | 422 ASSERT_TRUE(shim->IsLoaded()); |
| 401 | 423 |
| 402 // Check that edits work by default. | 424 // Check that edits work by default. |
| 403 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(2); | 425 EXPECT_CALL(observer_, PartnerShimChanged(shim)).Times(2); |
| 404 shim->RenameBookmark(partner_bookmark1, base::ASCIIToUTF16("a2.com")); | 426 shim->RenameBookmark(partner_bookmark1, base::ASCIIToUTF16("a2.com")); |
| 405 shim->RemoveBookmark(partner_bookmark2); | 427 shim->RemoveBookmark(partner_bookmark2); |
| 406 EXPECT_EQ(base::ASCIIToUTF16("a2.com"), shim->GetTitle(partner_bookmark1)); | 428 EXPECT_EQ(base::ASCIIToUTF16("a2.com"), shim->GetTitle(partner_bookmark1)); |
| 407 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); | 429 EXPECT_FALSE(shim->IsReachable(partner_bookmark2)); |
| 408 | 430 |
| 409 // Disable edits and check that edits are not applied anymore. | 431 // Disable edits and check that edits are not applied anymore. |
| 410 PartnerBookmarksShim::DisablePartnerBookmarksEditing(); | 432 PartnerBookmarksShim::DisablePartnerBookmarksEditing(); |
| 411 EXPECT_EQ(base::ASCIIToUTF16("a"), shim->GetTitle(partner_bookmark1)); | 433 EXPECT_EQ(base::ASCIIToUTF16("a"), shim->GetTitle(partner_bookmark1)); |
| 412 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); | 434 EXPECT_TRUE(shim->IsReachable(partner_bookmark2)); |
| 413 } | 435 } |
| OLD | NEW |