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 // TODO(akalin): This file is basically just a unit test for | 5 // TODO(akalin): This file is basically just a unit test for |
6 // BookmarkChangeProcessor. Write unit tests for | 6 // BookmarkChangeProcessor. Write unit tests for |
7 // BookmarkModelAssociator separately. | 7 // BookmarkModelAssociator separately. |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <queue> | 10 #include <queue> |
(...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
647 | 647 |
648 void ExpectSyncerNodeUnknown(const BookmarkNode* node) { | 648 void ExpectSyncerNodeUnknown(const BookmarkNode* node) { |
649 int64 sync_id = model_associator_->GetSyncIdFromChromeId(node->id()); | 649 int64 sync_id = model_associator_->GetSyncIdFromChromeId(node->id()); |
650 EXPECT_EQ(sync_id, syncer::kInvalidId); | 650 EXPECT_EQ(sync_id, syncer::kInvalidId); |
651 } | 651 } |
652 | 652 |
653 void ExpectBrowserNodeTitle(int64 sync_id, const std::wstring& title) { | 653 void ExpectBrowserNodeTitle(int64 sync_id, const std::wstring& title) { |
654 const BookmarkNode* bnode = | 654 const BookmarkNode* bnode = |
655 model_associator_->GetChromeNodeFromSyncId(sync_id); | 655 model_associator_->GetChromeNodeFromSyncId(sync_id); |
656 ASSERT_TRUE(bnode); | 656 ASSERT_TRUE(bnode); |
657 EXPECT_EQ(bnode->GetTitle(), WideToUTF16Hack(title)); | 657 EXPECT_EQ(bnode->GetTitle(), base::WideToUTF16Hack(title)); |
658 } | 658 } |
659 | 659 |
660 void ExpectBrowserNodeURL(int64 sync_id, const std::string& url) { | 660 void ExpectBrowserNodeURL(int64 sync_id, const std::string& url) { |
661 const BookmarkNode* bnode = | 661 const BookmarkNode* bnode = |
662 model_associator_->GetChromeNodeFromSyncId(sync_id); | 662 model_associator_->GetChromeNodeFromSyncId(sync_id); |
663 ASSERT_TRUE(bnode); | 663 ASSERT_TRUE(bnode); |
664 EXPECT_EQ(GURL(url), bnode->url()); | 664 EXPECT_EQ(GURL(url), bnode->url()); |
665 } | 665 } |
666 | 666 |
667 void ExpectBrowserNodeParent(int64 sync_id, int64 parent_sync_id) { | 667 void ExpectBrowserNodeParent(int64 sync_id, int64 parent_sync_id) { |
(...skipping 755 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1423 int size, | 1423 int size, |
1424 int* running_count) { | 1424 int* running_count) { |
1425 DCHECK(node); | 1425 DCHECK(node); |
1426 DCHECK(data); | 1426 DCHECK(data); |
1427 DCHECK(node->is_folder()); | 1427 DCHECK(node->is_folder()); |
1428 for (int i = 0; i < size; ++i) { | 1428 for (int i = 0; i < size; ++i) { |
1429 const TestData& item = data[i]; | 1429 const TestData& item = data[i]; |
1430 if (item.url) { | 1430 if (item.url) { |
1431 const base::Time add_time = | 1431 const base::Time add_time = |
1432 start_time_ + base::TimeDelta::FromMinutes(*running_count); | 1432 start_time_ + base::TimeDelta::FromMinutes(*running_count); |
1433 model_->AddURLWithCreationTime(node, i, WideToUTF16Hack(item.title), | 1433 model_->AddURLWithCreationTime(node, i, base::WideToUTF16Hack(item.title), |
1434 GURL(item.url), add_time); | 1434 GURL(item.url), add_time); |
1435 } else { | 1435 } else { |
1436 model_->AddFolder(node, i, WideToUTF16Hack(item.title)); | 1436 model_->AddFolder(node, i, base::WideToUTF16Hack(item.title)); |
1437 } | 1437 } |
1438 (*running_count)++; | 1438 (*running_count)++; |
1439 } | 1439 } |
1440 } | 1440 } |
1441 | 1441 |
1442 void ProfileSyncServiceBookmarkTestWithData::CompareWithTestData( | 1442 void ProfileSyncServiceBookmarkTestWithData::CompareWithTestData( |
1443 const BookmarkNode* node, | 1443 const BookmarkNode* node, |
1444 const TestData* data, | 1444 const TestData* data, |
1445 int size, | 1445 int size, |
1446 int* running_count) { | 1446 int* running_count) { |
1447 DCHECK(node); | 1447 DCHECK(node); |
1448 DCHECK(data); | 1448 DCHECK(data); |
1449 DCHECK(node->is_folder()); | 1449 DCHECK(node->is_folder()); |
1450 ASSERT_EQ(size, node->child_count()); | 1450 ASSERT_EQ(size, node->child_count()); |
1451 for (int i = 0; i < size; ++i) { | 1451 for (int i = 0; i < size; ++i) { |
1452 const BookmarkNode* child_node = node->GetChild(i); | 1452 const BookmarkNode* child_node = node->GetChild(i); |
1453 const TestData& item = data[i]; | 1453 const TestData& item = data[i]; |
1454 GURL url = GURL(item.url == NULL ? "" : item.url); | 1454 GURL url = GURL(item.url == NULL ? "" : item.url); |
1455 BookmarkNode test_node(url); | 1455 BookmarkNode test_node(url); |
1456 test_node.SetTitle(WideToUTF16Hack(item.title)); | 1456 test_node.SetTitle(base::WideToUTF16Hack(item.title)); |
1457 EXPECT_EQ(child_node->GetTitle(), test_node.GetTitle()); | 1457 EXPECT_EQ(child_node->GetTitle(), test_node.GetTitle()); |
1458 if (item.url) { | 1458 if (item.url) { |
1459 EXPECT_FALSE(child_node->is_folder()); | 1459 EXPECT_FALSE(child_node->is_folder()); |
1460 EXPECT_TRUE(child_node->is_url()); | 1460 EXPECT_TRUE(child_node->is_url()); |
1461 EXPECT_EQ(child_node->url(), test_node.url()); | 1461 EXPECT_EQ(child_node->url(), test_node.url()); |
1462 const base::Time expected_time = | 1462 const base::Time expected_time = |
1463 start_time_ + base::TimeDelta::FromMinutes(*running_count); | 1463 start_time_ + base::TimeDelta::FromMinutes(*running_count); |
1464 EXPECT_EQ(expected_time.ToInternalValue(), | 1464 EXPECT_EQ(expected_time.ToInternalValue(), |
1465 child_node->date_added().ToInternalValue()); | 1465 child_node->date_added().ToInternalValue()); |
1466 } else { | 1466 } else { |
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1888 int64 id = adds.AddURL(kTitle, kUrl, | 1888 int64 id = adds.AddURL(kTitle, kUrl, |
1889 bookmark_bar_id(), 0); | 1889 bookmark_bar_id(), 0); |
1890 adds.ApplyPendingChanges(change_processor_.get()); | 1890 adds.ApplyPendingChanges(change_processor_.get()); |
1891 FakeServerChange updates(&trans); | 1891 FakeServerChange updates(&trans); |
1892 updates.ModifyCreationTime(id, kCreationTime); | 1892 updates.ModifyCreationTime(id, kCreationTime); |
1893 updates.ApplyPendingChanges(change_processor_.get()); | 1893 updates.ApplyPendingChanges(change_processor_.get()); |
1894 | 1894 |
1895 const BookmarkNode* node = model_->bookmark_bar_node()->GetChild(0); | 1895 const BookmarkNode* node = model_->bookmark_bar_node()->GetChild(0); |
1896 ASSERT_TRUE(node); | 1896 ASSERT_TRUE(node); |
1897 EXPECT_TRUE(node->is_url()); | 1897 EXPECT_TRUE(node->is_url()); |
1898 EXPECT_EQ(WideToUTF16Hack(kTitle), node->GetTitle()); | 1898 EXPECT_EQ(base::WideToUTF16Hack(kTitle), node->GetTitle()); |
1899 EXPECT_EQ(kUrl, node->url().possibly_invalid_spec()); | 1899 EXPECT_EQ(kUrl, node->url().possibly_invalid_spec()); |
1900 EXPECT_EQ(node->date_added(), base::Time::FromInternalValue(30)); | 1900 EXPECT_EQ(node->date_added(), base::Time::FromInternalValue(30)); |
1901 } | 1901 } |
1902 | 1902 |
1903 // Tests that changes to the sync nodes meta info gets reflected in the local | 1903 // Tests that changes to the sync nodes meta info gets reflected in the local |
1904 // bookmark model. | 1904 // bookmark model. |
1905 TEST_F(ProfileSyncServiceBookmarkTestWithData, UpdateMetaInfoFromSync) { | 1905 TEST_F(ProfileSyncServiceBookmarkTestWithData, UpdateMetaInfoFromSync) { |
1906 LoadBookmarkModel(DELETE_EXISTING_STORAGE, DONT_SAVE_TO_STORAGE); | 1906 LoadBookmarkModel(DELETE_EXISTING_STORAGE, DONT_SAVE_TO_STORAGE); |
1907 WriteTestDataToBookmarkModel(); | 1907 WriteTestDataToBookmarkModel(); |
1908 StartSync(); | 1908 StartSync(); |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2054 EXPECT_EQ(initial_versions[model_->root_node()->id()] + 1, | 2054 EXPECT_EQ(initial_versions[model_->root_node()->id()] + 1, |
2055 new_versions[model_->root_node()->id()]); | 2055 new_versions[model_->root_node()->id()]); |
2056 ExpectTransactionVersionMatch(model_->bookmark_bar_node(), initial_versions); | 2056 ExpectTransactionVersionMatch(model_->bookmark_bar_node(), initial_versions); |
2057 ExpectTransactionVersionMatch(model_->other_node(), initial_versions); | 2057 ExpectTransactionVersionMatch(model_->other_node(), initial_versions); |
2058 ExpectTransactionVersionMatch(model_->mobile_node(), initial_versions); | 2058 ExpectTransactionVersionMatch(model_->mobile_node(), initial_versions); |
2059 | 2059 |
2060 // Verify model version and version of changed bookmark are incremented and | 2060 // Verify model version and version of changed bookmark are incremented and |
2061 // versions of others remain same. | 2061 // versions of others remain same. |
2062 const BookmarkNode* changed_bookmark = | 2062 const BookmarkNode* changed_bookmark = |
2063 model_->bookmark_bar_node()->GetChild(0); | 2063 model_->bookmark_bar_node()->GetChild(0); |
2064 model_->SetTitle(changed_bookmark, WideToUTF16Hack(L"test")); | 2064 model_->SetTitle(changed_bookmark, base::ASCIIToUTF16("test")); |
2065 base::MessageLoop::current()->RunUntilIdle(); | 2065 base::MessageLoop::current()->RunUntilIdle(); |
2066 GetTransactionVersions(model_->root_node(), &new_versions); | 2066 GetTransactionVersions(model_->root_node(), &new_versions); |
2067 EXPECT_EQ(initial_versions[model_->root_node()->id()] + 2, | 2067 EXPECT_EQ(initial_versions[model_->root_node()->id()] + 2, |
2068 new_versions[model_->root_node()->id()]); | 2068 new_versions[model_->root_node()->id()]); |
2069 EXPECT_LT(initial_versions[changed_bookmark->id()], | 2069 EXPECT_LT(initial_versions[changed_bookmark->id()], |
2070 new_versions[changed_bookmark->id()]); | 2070 new_versions[changed_bookmark->id()]); |
2071 initial_versions.erase(changed_bookmark->id()); | 2071 initial_versions.erase(changed_bookmark->id()); |
2072 ExpectTransactionVersionMatch(model_->bookmark_bar_node(), initial_versions); | 2072 ExpectTransactionVersionMatch(model_->bookmark_bar_node(), initial_versions); |
2073 ExpectTransactionVersionMatch(model_->other_node(), initial_versions); | 2073 ExpectTransactionVersionMatch(model_->other_node(), initial_versions); |
2074 ExpectTransactionVersionMatch(model_->mobile_node(), initial_versions); | 2074 ExpectTransactionVersionMatch(model_->mobile_node(), initial_versions); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2106 int64 root_version = initial_versions[model_->root_node()->id()]; | 2106 int64 root_version = initial_versions[model_->root_node()->id()]; |
2107 model_->SetNodeSyncTransactionVersion(model_->root_node(), root_version + 1); | 2107 model_->SetNodeSyncTransactionVersion(model_->root_node(), root_version + 1); |
2108 | 2108 |
2109 // Upon association, bookmarks should fail to associate. | 2109 // Upon association, bookmarks should fail to associate. |
2110 EXPECT_FALSE(AssociateModels()); | 2110 EXPECT_FALSE(AssociateModels()); |
2111 } | 2111 } |
2112 | 2112 |
2113 } // namespace | 2113 } // namespace |
2114 | 2114 |
2115 } // namespace browser_sync | 2115 } // namespace browser_sync |
OLD | NEW |