Chromium Code Reviews| 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 #include "chrome/browser/sync/sessions/sync_session.h" | 5 #include "chrome/browser/sync/sessions/sync_session.h" |
| 6 #include "chrome/browser/sync/test/engine/test_id_factory.h" | 6 #include "chrome/browser/sync/test/engine/test_id_factory.h" |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 | 8 |
| 9 namespace browser_sync { | 9 namespace browser_sync { |
| 10 namespace sessions { | 10 namespace sessions { |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 55 status.set_invalid_store(false); | 55 status.set_invalid_store(false); |
| 56 EXPECT_TRUE(status.TestAndClearIsDirty()); | 56 EXPECT_TRUE(status.TestAndClearIsDirty()); |
| 57 | 57 |
| 58 status.increment_num_successful_commits(); | 58 status.increment_num_successful_commits(); |
| 59 EXPECT_TRUE(status.TestAndClearIsDirty()); | 59 EXPECT_TRUE(status.TestAndClearIsDirty()); |
| 60 status.increment_num_successful_commits(); | 60 status.increment_num_successful_commits(); |
| 61 EXPECT_TRUE(status.TestAndClearIsDirty()); | 61 EXPECT_TRUE(status.TestAndClearIsDirty()); |
| 62 | 62 |
| 63 { | 63 { |
| 64 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); | 64 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); |
| 65 status.mutable_conflict_progress()->AddConflictingItemById(syncable::Id()); | 65 status.mutable_conflict_progress()-> |
| 66 AddSimpleConflictingItemById(syncable::Id()); | |
| 66 } | 67 } |
| 67 EXPECT_TRUE(status.TestAndClearIsDirty()); | 68 EXPECT_TRUE(status.TestAndClearIsDirty()); |
| 68 | 69 |
| 69 std::vector<int64> v; | 70 std::vector<int64> v; |
| 70 v.push_back(1); | 71 v.push_back(1); |
| 71 status.set_unsynced_handles(v); | 72 status.set_unsynced_handles(v); |
| 72 EXPECT_TRUE(status.TestAndClearIsDirty()); | 73 EXPECT_TRUE(status.TestAndClearIsDirty()); |
| 73 std::vector<int64> v2; | 74 std::vector<int64> v2; |
| 74 v2.push_back(1); | 75 v2.push_back(1); |
| 75 status.set_unsynced_handles(v2); | 76 status.set_unsynced_handles(v2); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 144 } | 145 } |
| 145 | 146 |
| 146 TEST_F(StatusControllerTest, HasConflictingUpdates) { | 147 TEST_F(StatusControllerTest, HasConflictingUpdates) { |
| 147 StatusController status(routes_); | 148 StatusController status(routes_); |
| 148 EXPECT_FALSE(status.HasConflictingUpdates()); | 149 EXPECT_FALSE(status.HasConflictingUpdates()); |
| 149 { | 150 { |
| 150 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); | 151 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); |
| 151 EXPECT_FALSE(status.update_progress()); | 152 EXPECT_FALSE(status.update_progress()); |
| 152 status.mutable_update_progress()->AddAppliedUpdate(SUCCESS, | 153 status.mutable_update_progress()->AddAppliedUpdate(SUCCESS, |
| 153 syncable::Id()); | 154 syncable::Id()); |
| 154 status.mutable_update_progress()->AddAppliedUpdate(CONFLICT, | 155 status.mutable_update_progress()->AddAppliedUpdate(CONFLICT_SIMPLE, |
| 155 syncable::Id()); | 156 syncable::Id()); |
| 156 EXPECT_TRUE(status.update_progress()->HasConflictingUpdates()); | 157 EXPECT_TRUE(status.update_progress()->HasConflictingUpdates()); |
| 157 } | 158 } |
| 158 | 159 |
| 159 EXPECT_TRUE(status.HasConflictingUpdates()); | 160 EXPECT_TRUE(status.HasConflictingUpdates()); |
| 160 | 161 |
| 161 { | 162 { |
| 162 ScopedModelSafeGroupRestriction r(&status, GROUP_PASSIVE); | 163 ScopedModelSafeGroupRestriction r(&status, GROUP_PASSIVE); |
| 163 EXPECT_FALSE(status.update_progress()); | 164 EXPECT_FALSE(status.update_progress()); |
| 164 } | 165 } |
| 165 } | 166 } |
| 166 | 167 |
| 168 TEST_F(StatusControllerTest, HasConflictingUpdates_NonBlockingUpdates) { | |
|
akalin
2012/02/10 23:11:54
comment this test
| |
| 169 StatusController status(routes_); | |
| 170 EXPECT_FALSE(status.HasConflictingUpdates()); | |
| 171 { | |
| 172 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); | |
| 173 EXPECT_FALSE(status.update_progress()); | |
| 174 status.mutable_update_progress()->AddAppliedUpdate(SUCCESS, | |
| 175 syncable::Id()); | |
| 176 status.mutable_update_progress()->AddAppliedUpdate(CONFLICT_HIERARCHY, | |
| 177 syncable::Id()); | |
| 178 EXPECT_TRUE(status.update_progress()->HasConflictingUpdates()); | |
| 179 } | |
| 180 | |
| 181 EXPECT_TRUE(status.HasConflictingUpdates()); | |
| 182 } | |
| 183 | |
| 167 TEST_F(StatusControllerTest, CountUpdates) { | 184 TEST_F(StatusControllerTest, CountUpdates) { |
| 168 StatusController status(routes_); | 185 StatusController status(routes_); |
| 169 EXPECT_EQ(0, status.CountUpdates()); | 186 EXPECT_EQ(0, status.CountUpdates()); |
| 170 ClientToServerResponse* response(status.mutable_updates_response()); | 187 ClientToServerResponse* response(status.mutable_updates_response()); |
| 171 sync_pb::SyncEntity* entity1 = response->mutable_get_updates()->add_entries(); | 188 sync_pb::SyncEntity* entity1 = response->mutable_get_updates()->add_entries(); |
| 172 sync_pb::SyncEntity* entity2 = response->mutable_get_updates()->add_entries(); | 189 sync_pb::SyncEntity* entity2 = response->mutable_get_updates()->add_entries(); |
| 173 ASSERT_TRUE(entity1 != NULL && entity2 != NULL); | 190 ASSERT_TRUE(entity1 != NULL && entity2 != NULL); |
| 174 EXPECT_EQ(2, status.CountUpdates()); | 191 EXPECT_EQ(2, status.CountUpdates()); |
| 175 } | 192 } |
| 176 | 193 |
| 177 // Test TotalNumConflictingItems | 194 // Test TotalNumConflictingItems |
| 178 TEST_F(StatusControllerTest, TotalNumConflictingItems) { | 195 TEST_F(StatusControllerTest, TotalNumConflictingItems) { |
| 179 StatusController status(routes_); | 196 StatusController status(routes_); |
| 180 TestIdFactory f; | 197 TestIdFactory f; |
| 181 { | 198 { |
| 182 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); | 199 ScopedModelSafeGroupRestriction r(&status, GROUP_UI); |
| 183 EXPECT_FALSE(status.conflict_progress()); | 200 EXPECT_FALSE(status.conflict_progress()); |
| 184 status.mutable_conflict_progress()->AddConflictingItemById(f.NewLocalId()); | 201 status.mutable_conflict_progress()-> |
| 185 status.mutable_conflict_progress()->AddConflictingItemById(f.NewLocalId()); | 202 AddSimpleConflictingItemById(f.NewLocalId()); |
| 186 EXPECT_EQ(2, status.conflict_progress()->ConflictingItemsSize()); | 203 status.mutable_conflict_progress()-> |
| 204 AddSimpleConflictingItemById(f.NewLocalId()); | |
| 205 EXPECT_EQ(2, status.conflict_progress()->SimpleConflictingItemsSize()); | |
| 187 } | 206 } |
| 188 EXPECT_EQ(2, status.TotalNumConflictingItems()); | 207 EXPECT_EQ(2, status.TotalNumConflictingItems()); |
| 189 { | 208 { |
| 190 ScopedModelSafeGroupRestriction r(&status, GROUP_DB); | 209 ScopedModelSafeGroupRestriction r(&status, GROUP_DB); |
| 191 EXPECT_FALSE(status.conflict_progress()); | 210 EXPECT_FALSE(status.conflict_progress()); |
| 192 status.mutable_conflict_progress()->AddConflictingItemById(f.NewLocalId()); | 211 status.mutable_conflict_progress()-> |
| 193 status.mutable_conflict_progress()->AddConflictingItemById(f.NewLocalId()); | 212 AddSimpleConflictingItemById(f.NewLocalId()); |
| 194 EXPECT_EQ(2, status.conflict_progress()->ConflictingItemsSize()); | 213 status.mutable_conflict_progress()-> |
| 214 AddSimpleConflictingItemById(f.NewLocalId()); | |
| 215 EXPECT_EQ(2, status.conflict_progress()->SimpleConflictingItemsSize()); | |
| 195 } | 216 } |
| 196 EXPECT_EQ(4, status.TotalNumConflictingItems()); | 217 EXPECT_EQ(4, status.TotalNumConflictingItems()); |
| 197 } | 218 } |
| 198 | 219 |
| 199 // Basic test that non group-restricted state accessors don't cause violations. | 220 // Basic test that non group-restricted state accessors don't cause violations. |
| 200 TEST_F(StatusControllerTest, Unrestricted) { | 221 TEST_F(StatusControllerTest, Unrestricted) { |
| 201 StatusController status(routes_); | 222 StatusController status(routes_); |
| 202 const UpdateProgress* progress = | 223 const UpdateProgress* progress = |
| 203 status.GetUnrestrictedUpdateProgress(GROUP_UI); | 224 status.GetUnrestrictedUpdateProgress(GROUP_UI); |
| 204 EXPECT_FALSE(progress); | 225 EXPECT_FALSE(progress); |
| 205 status.mutable_commit_message(); | 226 status.mutable_commit_message(); |
| 206 status.commit_response(); | 227 status.commit_response(); |
| 207 status.mutable_commit_response(); | 228 status.mutable_commit_response(); |
| 208 status.updates_response(); | 229 status.updates_response(); |
| 209 status.mutable_updates_response(); | 230 status.mutable_updates_response(); |
| 210 status.error(); | 231 status.error(); |
| 211 status.syncer_status(); | 232 status.syncer_status(); |
| 212 status.num_server_changes_remaining(); | 233 status.num_server_changes_remaining(); |
| 213 status.commit_ids(); | 234 status.commit_ids(); |
| 214 status.HasBookmarkCommitActivity(); | 235 status.HasBookmarkCommitActivity(); |
| 215 status.download_updates_succeeded(); | 236 status.download_updates_succeeded(); |
| 216 status.ServerSaysNothingMoreToDownload(); | 237 status.ServerSaysNothingMoreToDownload(); |
| 217 status.group_restriction(); | 238 status.group_restriction(); |
| 218 } | 239 } |
| 219 | 240 |
| 220 } // namespace sessions | 241 } // namespace sessions |
| 221 } // namespace browser_sync | 242 } // namespace browser_sync |
| OLD | NEW |