| 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 1028 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1039 ExpectModelMatch(); | 1039 ExpectModelMatch(); |
| 1040 model_->SetTitle(folder, base::ASCIIToUTF16("who's nested now?")); | 1040 model_->SetTitle(folder, base::ASCIIToUTF16("who's nested now?")); |
| 1041 ExpectModelMatch(); | 1041 ExpectModelMatch(); |
| 1042 model_->Copy(url2, model_->bookmark_bar_node(), 0); | 1042 model_->Copy(url2, model_->bookmark_bar_node(), 0); |
| 1043 ExpectModelMatch(); | 1043 ExpectModelMatch(); |
| 1044 model_->SetTitle(mobile_folder, base::ASCIIToUTF16("strawberry")); | 1044 model_->SetTitle(mobile_folder, base::ASCIIToUTF16("strawberry")); |
| 1045 ExpectModelMatch(); | 1045 ExpectModelMatch(); |
| 1046 | 1046 |
| 1047 // Test deletion. | 1047 // Test deletion. |
| 1048 // Delete a single item. | 1048 // Delete a single item. |
| 1049 model_->Remove(url2->parent(), url2->parent()->GetIndexOf(url2)); | 1049 model_->Remove(url2); |
| 1050 ExpectModelMatch(); | 1050 ExpectModelMatch(); |
| 1051 // Delete an item with several children. | 1051 // Delete an item with several children. |
| 1052 model_->Remove(folder2->parent(), | 1052 model_->Remove(folder2); |
| 1053 folder2->parent()->GetIndexOf(folder2)); | |
| 1054 ExpectModelMatch(); | 1053 ExpectModelMatch(); |
| 1055 model_->Remove(model_->mobile_node(), 0); | 1054 model_->Remove(model_->mobile_node()->GetChild(0)); |
| 1056 ExpectModelMatch(); | 1055 ExpectModelMatch(); |
| 1057 } | 1056 } |
| 1058 | 1057 |
| 1059 TEST_F(ProfileSyncServiceBookmarkTest, ServerChangeProcessing) { | 1058 TEST_F(ProfileSyncServiceBookmarkTest, ServerChangeProcessing) { |
| 1060 LoadBookmarkModel(DELETE_EXISTING_STORAGE, DONT_SAVE_TO_STORAGE); | 1059 LoadBookmarkModel(DELETE_EXISTING_STORAGE, DONT_SAVE_TO_STORAGE); |
| 1061 StartSync(); | 1060 StartSync(); |
| 1062 | 1061 |
| 1063 syncer::WriteTransaction trans(FROM_HERE, test_user_share_.user_share()); | 1062 syncer::WriteTransaction trans(FROM_HERE, test_user_share_.user_share()); |
| 1064 | 1063 |
| 1065 FakeServerChange adds(&trans); | 1064 FakeServerChange adds(&trans); |
| (...skipping 850 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1916 WriteTestDataToBookmarkModel(); | 1915 WriteTestDataToBookmarkModel(); |
| 1917 ExpectBookmarkModelMatchesTestData(); | 1916 ExpectBookmarkModelMatchesTestData(); |
| 1918 | 1917 |
| 1919 // Remove some nodes and reorder some nodes. | 1918 // Remove some nodes and reorder some nodes. |
| 1920 const BookmarkNode* bookmark_bar_node = model_->bookmark_bar_node(); | 1919 const BookmarkNode* bookmark_bar_node = model_->bookmark_bar_node(); |
| 1921 int remove_index = 2; | 1920 int remove_index = 2; |
| 1922 ASSERT_GT(bookmark_bar_node->child_count(), remove_index); | 1921 ASSERT_GT(bookmark_bar_node->child_count(), remove_index); |
| 1923 const BookmarkNode* child_node = bookmark_bar_node->GetChild(remove_index); | 1922 const BookmarkNode* child_node = bookmark_bar_node->GetChild(remove_index); |
| 1924 ASSERT_TRUE(child_node); | 1923 ASSERT_TRUE(child_node); |
| 1925 ASSERT_TRUE(child_node->is_url()); | 1924 ASSERT_TRUE(child_node->is_url()); |
| 1926 model_->Remove(bookmark_bar_node, remove_index); | 1925 model_->Remove(bookmark_bar_node->GetChild(remove_index)); |
| 1927 ASSERT_GT(bookmark_bar_node->child_count(), remove_index); | 1926 ASSERT_GT(bookmark_bar_node->child_count(), remove_index); |
| 1928 child_node = bookmark_bar_node->GetChild(remove_index); | 1927 child_node = bookmark_bar_node->GetChild(remove_index); |
| 1929 ASSERT_TRUE(child_node); | 1928 ASSERT_TRUE(child_node); |
| 1930 ASSERT_TRUE(child_node->is_folder()); | 1929 ASSERT_TRUE(child_node->is_folder()); |
| 1931 model_->Remove(bookmark_bar_node, remove_index); | 1930 model_->Remove(bookmark_bar_node->GetChild(remove_index)); |
| 1932 | 1931 |
| 1933 const BookmarkNode* other_node = model_->other_node(); | 1932 const BookmarkNode* other_node = model_->other_node(); |
| 1934 ASSERT_GE(other_node->child_count(), 1); | 1933 ASSERT_GE(other_node->child_count(), 1); |
| 1935 const BookmarkNode* f3_node = other_node->GetChild(0); | 1934 const BookmarkNode* f3_node = other_node->GetChild(0); |
| 1936 ASSERT_TRUE(f3_node); | 1935 ASSERT_TRUE(f3_node); |
| 1937 ASSERT_TRUE(f3_node->is_folder()); | 1936 ASSERT_TRUE(f3_node->is_folder()); |
| 1938 remove_index = 2; | 1937 remove_index = 2; |
| 1939 ASSERT_GT(f3_node->child_count(), remove_index); | 1938 ASSERT_GT(f3_node->child_count(), remove_index); |
| 1940 model_->Remove(f3_node, remove_index); | 1939 model_->Remove(f3_node->GetChild(remove_index)); |
| 1941 ASSERT_GT(f3_node->child_count(), remove_index); | 1940 ASSERT_GT(f3_node->child_count(), remove_index); |
| 1942 model_->Remove(f3_node, remove_index); | 1941 model_->Remove(f3_node->GetChild(remove_index)); |
| 1943 | 1942 |
| 1944 StartSync(); | 1943 StartSync(); |
| 1945 ExpectModelMatch(); | 1944 ExpectModelMatch(); |
| 1946 StopSync(); | 1945 StopSync(); |
| 1947 | 1946 |
| 1948 LoadBookmarkModel(DELETE_EXISTING_STORAGE, DONT_SAVE_TO_STORAGE); | 1947 LoadBookmarkModel(DELETE_EXISTING_STORAGE, DONT_SAVE_TO_STORAGE); |
| 1949 WriteTestDataToBookmarkModel(); | 1948 WriteTestDataToBookmarkModel(); |
| 1950 ExpectBookmarkModelMatchesTestData(); | 1949 ExpectBookmarkModelMatchesTestData(); |
| 1951 | 1950 |
| 1952 // Remove some nodes and reorder some nodes. | 1951 // Remove some nodes and reorder some nodes. |
| 1953 bookmark_bar_node = model_->bookmark_bar_node(); | 1952 bookmark_bar_node = model_->bookmark_bar_node(); |
| 1954 remove_index = 0; | 1953 remove_index = 0; |
| 1955 ASSERT_GT(bookmark_bar_node->child_count(), remove_index); | 1954 ASSERT_GT(bookmark_bar_node->child_count(), remove_index); |
| 1956 child_node = bookmark_bar_node->GetChild(remove_index); | 1955 child_node = bookmark_bar_node->GetChild(remove_index); |
| 1957 ASSERT_TRUE(child_node); | 1956 ASSERT_TRUE(child_node); |
| 1958 ASSERT_TRUE(child_node->is_url()); | 1957 ASSERT_TRUE(child_node->is_url()); |
| 1959 model_->Remove(bookmark_bar_node, remove_index); | 1958 model_->Remove(bookmark_bar_node->GetChild(remove_index)); |
| 1960 ASSERT_GT(bookmark_bar_node->child_count(), remove_index); | 1959 ASSERT_GT(bookmark_bar_node->child_count(), remove_index); |
| 1961 child_node = bookmark_bar_node->GetChild(remove_index); | 1960 child_node = bookmark_bar_node->GetChild(remove_index); |
| 1962 ASSERT_TRUE(child_node); | 1961 ASSERT_TRUE(child_node); |
| 1963 ASSERT_TRUE(child_node->is_folder()); | 1962 ASSERT_TRUE(child_node->is_folder()); |
| 1964 model_->Remove(bookmark_bar_node, remove_index); | 1963 model_->Remove(bookmark_bar_node->GetChild(remove_index)); |
| 1965 | 1964 |
| 1966 ASSERT_GE(bookmark_bar_node->child_count(), 2); | 1965 ASSERT_GE(bookmark_bar_node->child_count(), 2); |
| 1967 model_->Move(bookmark_bar_node->GetChild(0), bookmark_bar_node, 1); | 1966 model_->Move(bookmark_bar_node->GetChild(0), bookmark_bar_node, 1); |
| 1968 | 1967 |
| 1969 other_node = model_->other_node(); | 1968 other_node = model_->other_node(); |
| 1970 ASSERT_GE(other_node->child_count(), 1); | 1969 ASSERT_GE(other_node->child_count(), 1); |
| 1971 f3_node = other_node->GetChild(0); | 1970 f3_node = other_node->GetChild(0); |
| 1972 ASSERT_TRUE(f3_node); | 1971 ASSERT_TRUE(f3_node); |
| 1973 ASSERT_TRUE(f3_node->is_folder()); | 1972 ASSERT_TRUE(f3_node->is_folder()); |
| 1974 remove_index = 0; | 1973 remove_index = 0; |
| 1975 ASSERT_GT(f3_node->child_count(), remove_index); | 1974 ASSERT_GT(f3_node->child_count(), remove_index); |
| 1976 model_->Remove(f3_node, remove_index); | 1975 model_->Remove(f3_node->GetChild(remove_index)); |
| 1977 ASSERT_GT(f3_node->child_count(), remove_index); | 1976 ASSERT_GT(f3_node->child_count(), remove_index); |
| 1978 model_->Remove(f3_node, remove_index); | 1977 model_->Remove(f3_node->GetChild(remove_index)); |
| 1979 | 1978 |
| 1980 ASSERT_GE(other_node->child_count(), 4); | 1979 ASSERT_GE(other_node->child_count(), 4); |
| 1981 model_->Move(other_node->GetChild(0), other_node, 1); | 1980 model_->Move(other_node->GetChild(0), other_node, 1); |
| 1982 model_->Move(other_node->GetChild(2), other_node, 3); | 1981 model_->Move(other_node->GetChild(2), other_node, 3); |
| 1983 | 1982 |
| 1984 StartSync(); | 1983 StartSync(); |
| 1985 ExpectModelMatch(); | 1984 ExpectModelMatch(); |
| 1986 | 1985 |
| 1987 // After the merge, the model should match the test data. | 1986 // After the merge, the model should match the test data. |
| 1988 ExpectBookmarkModelMatchesTestData(); | 1987 ExpectBookmarkModelMatchesTestData(); |
| (...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2332 ExpectTransactionVersionMatch(model_->bookmark_bar_node(), | 2331 ExpectTransactionVersionMatch(model_->bookmark_bar_node(), |
| 2333 BookmarkNodeVersionMap()); | 2332 BookmarkNodeVersionMap()); |
| 2334 ExpectTransactionVersionMatch(model_->other_node(), | 2333 ExpectTransactionVersionMatch(model_->other_node(), |
| 2335 BookmarkNodeVersionMap()); | 2334 BookmarkNodeVersionMap()); |
| 2336 ExpectTransactionVersionMatch(model_->mobile_node(), | 2335 ExpectTransactionVersionMatch(model_->mobile_node(), |
| 2337 BookmarkNodeVersionMap()); | 2336 BookmarkNodeVersionMap()); |
| 2338 | 2337 |
| 2339 // Verify model version is incremented and bookmark node versions remain | 2338 // Verify model version is incremented and bookmark node versions remain |
| 2340 // the same. | 2339 // the same. |
| 2341 const BookmarkNode* bookmark_bar = model_->bookmark_bar_node(); | 2340 const BookmarkNode* bookmark_bar = model_->bookmark_bar_node(); |
| 2342 model_->Remove(bookmark_bar, 0); | 2341 model_->Remove(bookmark_bar->GetChild(0)); |
| 2343 base::MessageLoop::current()->RunUntilIdle(); | 2342 base::MessageLoop::current()->RunUntilIdle(); |
| 2344 BookmarkNodeVersionMap new_versions; | 2343 BookmarkNodeVersionMap new_versions; |
| 2345 GetTransactionVersions(model_->root_node(), &new_versions); | 2344 GetTransactionVersions(model_->root_node(), &new_versions); |
| 2346 EXPECT_EQ(initial_versions[model_->root_node()->id()] + 1, | 2345 EXPECT_EQ(initial_versions[model_->root_node()->id()] + 1, |
| 2347 new_versions[model_->root_node()->id()]); | 2346 new_versions[model_->root_node()->id()]); |
| 2348 ExpectTransactionVersionMatch(model_->bookmark_bar_node(), initial_versions); | 2347 ExpectTransactionVersionMatch(model_->bookmark_bar_node(), initial_versions); |
| 2349 ExpectTransactionVersionMatch(model_->other_node(), initial_versions); | 2348 ExpectTransactionVersionMatch(model_->other_node(), initial_versions); |
| 2350 ExpectTransactionVersionMatch(model_->mobile_node(), initial_versions); | 2349 ExpectTransactionVersionMatch(model_->mobile_node(), initial_versions); |
| 2351 | 2350 |
| 2352 // Verify model version and version of changed bookmark are incremented and | 2351 // Verify model version and version of changed bookmark are incremented and |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2431 ExpectModelMatch(); | 2430 ExpectModelMatch(); |
| 2432 | 2431 |
| 2433 // Then simulate the add call arriving late. | 2432 // Then simulate the add call arriving late. |
| 2434 change_processor_->BookmarkNodeAdded(model_, model_->bookmark_bar_node(), 0); | 2433 change_processor_->BookmarkNodeAdded(model_, model_->bookmark_bar_node(), 0); |
| 2435 ExpectModelMatch(); | 2434 ExpectModelMatch(); |
| 2436 } | 2435 } |
| 2437 | 2436 |
| 2438 } // namespace | 2437 } // namespace |
| 2439 | 2438 |
| 2440 } // namespace browser_sync | 2439 } // namespace browser_sync |
| OLD | NEW |