| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/enhanced_bookmarks/enhanced_bookmark_model.h" | 5 #include "components/enhanced_bookmarks/enhanced_bookmark_model.h" |
| 6 | 6 |
| 7 #include "base/base64.h" | 7 #include "base/base64.h" |
| 8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 const BookmarkNode* AddBookmark() { | 41 const BookmarkNode* AddBookmark() { |
| 42 return AddBookmark("Some title", bookmark_model_->other_node()); | 42 return AddBookmark("Some title", bookmark_model_->other_node()); |
| 43 } | 43 } |
| 44 | 44 |
| 45 const BookmarkNode* AddFolder() { | 45 const BookmarkNode* AddFolder() { |
| 46 return AddFolder("Some title", bookmark_model_->other_node()); | 46 return AddFolder("Some title", bookmark_model_->other_node()); |
| 47 } | 47 } |
| 48 | 48 |
| 49 const BookmarkNode* AddBookmark(const std::string& name, | 49 const BookmarkNode* AddBookmark(const std::string& name, |
| 50 const BookmarkNode* parent) { | 50 const BookmarkNode* parent) { |
| 51 return bookmark_model_->AddURL(parent, | 51 return model_->AddURL(parent, |
| 52 0, // index. | 52 0, // index. |
| 53 base::ASCIIToUTF16(name), | 53 base::ASCIIToUTF16(name), |
| 54 GURL(BOOKMARK_URL)); | 54 GURL(BOOKMARK_URL), |
| 55 base::Time::Now()); |
| 55 } | 56 } |
| 56 | 57 |
| 57 const BookmarkNode* AddFolder(const std::string& name, | 58 const BookmarkNode* AddFolder(const std::string& name, |
| 58 const BookmarkNode* parent) { | 59 const BookmarkNode* parent) { |
| 59 return bookmark_model_->AddFolder(parent, 0, base::ASCIIToUTF16(name)); | 60 return model_->AddFolder(parent, 0, base::ASCIIToUTF16(name)); |
| 60 } | 61 } |
| 61 | 62 |
| 62 std::string GetVersionForNode(const BookmarkNode* node) { | 63 std::string GetVersionForNode(const BookmarkNode* node) { |
| 63 std::string version; | 64 std::string version; |
| 64 if (!node->GetMetaInfo("stars.version", &version)) | 65 if (!node->GetMetaInfo("stars.version", &version)) |
| 65 return std::string(); | 66 return std::string(); |
| 66 return version; | 67 return version; |
| 67 } | 68 } |
| 68 | 69 |
| 69 scoped_ptr<BookmarkModel> bookmark_model_; | 70 scoped_ptr<BookmarkModel> bookmark_model_; |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 result = model_->GetOriginalImage(node, &url, &width, &height); | 275 result = model_->GetOriginalImage(node, &url, &width, &height); |
| 275 ASSERT_TRUE(result); | 276 ASSERT_TRUE(result); |
| 276 EXPECT_EQ(url, GURL("http://example.com/i.jpg")); | 277 EXPECT_EQ(url, GURL("http://example.com/i.jpg")); |
| 277 EXPECT_EQ(width, 33); | 278 EXPECT_EQ(width, 33); |
| 278 EXPECT_EQ(height, 44); | 279 EXPECT_EQ(height, 44); |
| 279 EXPECT_EQ("v1.0", GetVersionForNode(node)); | 280 EXPECT_EQ("v1.0", GetVersionForNode(node)); |
| 280 } | 281 } |
| 281 | 282 |
| 282 TEST_F(EnhancedBookmarkModelTest, TestRemoteId) { | 283 TEST_F(EnhancedBookmarkModelTest, TestRemoteId) { |
| 283 const BookmarkNode* node = AddBookmark(); | 284 const BookmarkNode* node = AddBookmark(); |
| 285 // Verify that the remote id starts with the correct prefix. |
| 286 EXPECT_TRUE(StartsWithASCII(model_->GetRemoteId(node), "ebc_", true)); |
| 287 |
| 288 // Getting the remote id for nodes that don't have them should return the |
| 289 // empty string. |
| 290 const BookmarkNode* existing_node = |
| 291 bookmark_model_->AddURL(bookmark_model_->other_node(), |
| 292 0, |
| 293 base::ASCIIToUTF16("Title"), |
| 294 GURL(GURL(BOOKMARK_URL))); |
| 295 EXPECT_TRUE(model_->GetRemoteId(existing_node).empty()); |
| 296 |
| 297 // Folder nodes should not have a remote id set on creation. |
| 284 const BookmarkNode* folder_node = AddFolder(); | 298 const BookmarkNode* folder_node = AddFolder(); |
| 285 | 299 EXPECT_TRUE(model_->GetRemoteId(folder_node).empty()); |
| 286 std::string remote_id = model_->GetRemoteId(node); | |
| 287 // First call creates the UUID, second call should return the same. | |
| 288 EXPECT_EQ(remote_id, model_->GetRemoteId(node)); | |
| 289 | |
| 290 // Verify that the remote id starts with the correct prefix. | |
| 291 EXPECT_TRUE(StartsWithASCII(remote_id, "ebc_", true)); | |
| 292 std::string folder_remote_id = model_->GetRemoteId(folder_node); | |
| 293 EXPECT_TRUE(StartsWithASCII(folder_remote_id, "ebf_", true)); | |
| 294 | |
| 295 // Verifiy version field was set. | |
| 296 EXPECT_EQ("v1.0", GetVersionForNode(node)); | |
| 297 EXPECT_EQ("v1.0", GetVersionForNode(folder_node)); | |
| 298 } | 300 } |
| 299 | 301 |
| 300 TEST_F(EnhancedBookmarkModelTest, TestEmptyDescription) { | 302 TEST_F(EnhancedBookmarkModelTest, TestEmptyDescription) { |
| 301 const BookmarkNode* node = AddBookmark(); | 303 const BookmarkNode* node = AddBookmark(); |
| 302 | 304 |
| 303 std::string description(model_->GetDescription(node)); | 305 std::string description(model_->GetDescription(node)); |
| 304 EXPECT_EQ(description, ""); | 306 EXPECT_EQ(description, ""); |
| 305 } | 307 } |
| 306 | 308 |
| 307 TEST_F(EnhancedBookmarkModelTest, TestDescription) { | 309 TEST_F(EnhancedBookmarkModelTest, TestDescription) { |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 358 model_->SetVersionSuffix("alpha"); | 360 model_->SetVersionSuffix("alpha"); |
| 359 | 361 |
| 360 model_->SetDescription(node, "foo"); | 362 model_->SetDescription(node, "foo"); |
| 361 // Since the description didn't actually change, the version field should | 363 // Since the description didn't actually change, the version field should |
| 362 // not either. | 364 // not either. |
| 363 EXPECT_EQ("v1.0", GetVersionForNode(node)); | 365 EXPECT_EQ("v1.0", GetVersionForNode(node)); |
| 364 | 366 |
| 365 model_->SetDescription(node, "bar"); | 367 model_->SetDescription(node, "bar"); |
| 366 EXPECT_EQ("v1.0/alpha", GetVersionForNode(node)); | 368 EXPECT_EQ("v1.0/alpha", GetVersionForNode(node)); |
| 367 } | 369 } |
| 368 | |
| 369 // Verifies that the stars.userEdit field is set appropriately when editing a | |
| 370 // node. | |
| 371 TEST_F(EnhancedBookmarkModelTest, TestUserEdit) { | |
| 372 const BookmarkNode* node = AddBookmark(); | |
| 373 | |
| 374 model_->SetDescription(node, "foo"); | |
| 375 std::string user_edit; | |
| 376 ASSERT_TRUE(node->GetMetaInfo("stars.userEdit", &user_edit)); | |
| 377 EXPECT_EQ("true", user_edit); | |
| 378 } | |
| 379 | |
| 380 } // namespace | 370 } // namespace |
| OLD | NEW |