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 |