OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #ifndef CHROME_BROWSER_SYNC_TEST_ENGINE_SYNCER_COMMAND_TEST_H_ | 5 #ifndef CHROME_BROWSER_SYNC_TEST_ENGINE_SYNCER_COMMAND_TEST_H_ |
6 #define CHROME_BROWSER_SYNC_TEST_ENGINE_SYNCER_COMMAND_TEST_H_ | 6 #define CHROME_BROWSER_SYNC_TEST_ENGINE_SYNCER_COMMAND_TEST_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <string> | 10 #include <string> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "base/compiler_specific.h" | 13 #include "base/compiler_specific.h" |
14 #include "base/message_loop.h" | 14 #include "base/message_loop.h" |
| 15 #include "chrome/browser/sync/engine/model_changing_syncer_command.h" |
15 #include "chrome/browser/sync/engine/model_safe_worker.h" | 16 #include "chrome/browser/sync/engine/model_safe_worker.h" |
16 #include "chrome/browser/sync/sessions/debug_info_getter.h" | 17 #include "chrome/browser/sync/sessions/debug_info_getter.h" |
17 #include "chrome/browser/sync/sessions/sync_session.h" | 18 #include "chrome/browser/sync/sessions/sync_session.h" |
18 #include "chrome/browser/sync/sessions/sync_session_context.h" | 19 #include "chrome/browser/sync/sessions/sync_session_context.h" |
19 #include "chrome/browser/sync/test/engine/mock_connection_manager.h" | 20 #include "chrome/browser/sync/test/engine/mock_connection_manager.h" |
20 #include "chrome/browser/sync/test/engine/test_directory_setter_upper.h" | 21 #include "chrome/browser/sync/test/engine/test_directory_setter_upper.h" |
21 #include "testing/gtest/include/gtest/gtest.h" | 22 #include "testing/gtest/include/gtest/gtest.h" |
22 #include "testing/gmock/include/gmock/gmock.h" | 23 #include "testing/gmock/include/gmock/gmock.h" |
23 | 24 |
24 using ::testing::NiceMock; | 25 using ::testing::NiceMock; |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 ModelSafeRoutingInfo* mutable_routing_info() { return &routing_info_; } | 151 ModelSafeRoutingInfo* mutable_routing_info() { return &routing_info_; } |
151 | 152 |
152 MockConnectionManager* mock_server() { | 153 MockConnectionManager* mock_server() { |
153 return mock_server_.get(); | 154 return mock_server_.get(); |
154 } | 155 } |
155 | 156 |
156 MockDebugInfoGetter* mock_debug_info_getter() { | 157 MockDebugInfoGetter* mock_debug_info_getter() { |
157 return &mock_debug_info_getter_; | 158 return &mock_debug_info_getter_; |
158 } | 159 } |
159 | 160 |
| 161 void ExpectNoGroupsToChange( |
| 162 const ModelChangingSyncerCommand& command) { |
| 163 EXPECT_TRUE(command.GetGroupsToChangeForTest(*session()).empty()); |
| 164 } |
| 165 |
| 166 void ExpectGroupToChange( |
| 167 const ModelChangingSyncerCommand& command, ModelSafeGroup group) { |
| 168 std::set<ModelSafeGroup> expected_groups_to_change; |
| 169 expected_groups_to_change.insert(group); |
| 170 EXPECT_EQ(expected_groups_to_change, |
| 171 command.GetGroupsToChangeForTest(*session())); |
| 172 } |
| 173 |
| 174 void ExpectGroupsToChange( |
| 175 const ModelChangingSyncerCommand& command, |
| 176 ModelSafeGroup group1, ModelSafeGroup group2) { |
| 177 std::set<ModelSafeGroup> expected_groups_to_change; |
| 178 expected_groups_to_change.insert(group1); |
| 179 expected_groups_to_change.insert(group2); |
| 180 EXPECT_EQ(expected_groups_to_change, |
| 181 command.GetGroupsToChangeForTest(*session())); |
| 182 } |
| 183 |
160 private: | 184 private: |
161 MessageLoop message_loop_; | 185 MessageLoop message_loop_; |
162 scoped_ptr<TestDirectorySetterUpper> syncdb_; | 186 scoped_ptr<TestDirectorySetterUpper> syncdb_; |
163 scoped_ptr<sessions::SyncSessionContext> context_; | 187 scoped_ptr<sessions::SyncSessionContext> context_; |
164 scoped_ptr<MockConnectionManager> mock_server_; | 188 scoped_ptr<MockConnectionManager> mock_server_; |
165 scoped_ptr<sessions::SyncSession> session_; | 189 scoped_ptr<sessions::SyncSession> session_; |
166 std::vector<scoped_refptr<ModelSafeWorker> > workers_; | 190 std::vector<scoped_refptr<ModelSafeWorker> > workers_; |
167 ModelSafeRoutingInfo routing_info_; | 191 ModelSafeRoutingInfo routing_info_; |
168 NiceMock<MockDebugInfoGetter> mock_debug_info_getter_; | 192 NiceMock<MockDebugInfoGetter> mock_debug_info_getter_; |
169 DISALLOW_COPY_AND_ASSIGN(SyncerCommandTestWithParam); | 193 DISALLOW_COPY_AND_ASSIGN(SyncerCommandTestWithParam); |
170 }; | 194 }; |
171 | 195 |
172 class SyncerCommandTest : public SyncerCommandTestWithParam<void*> {}; | 196 class SyncerCommandTest : public SyncerCommandTestWithParam<void*> {}; |
173 | 197 |
174 class MockDirectorySyncerCommandTest | 198 class MockDirectorySyncerCommandTest |
175 : public SyncerCommandTestWithParam<void*> { | 199 : public SyncerCommandTestWithParam<void*> { |
176 public: | 200 public: |
177 MockDirectorySyncerCommandTest() | 201 MockDirectorySyncerCommandTest() |
178 : SyncerCommandTestWithParam<void*>( | 202 : SyncerCommandTestWithParam<void*>( |
179 SyncerCommandTestWithParam<void*>::USE_MOCK_DIRECTORY) {} | 203 SyncerCommandTestWithParam<void*>::USE_MOCK_DIRECTORY) {} |
180 MockDirectorySetterUpper::MockDirectory* mock_directory() { | 204 MockDirectorySetterUpper::MockDirectory* mock_directory() { |
181 return static_cast<MockDirectorySetterUpper*>(syncdb())->directory(); | 205 return static_cast<MockDirectorySetterUpper*>(syncdb())->directory(); |
182 } | 206 } |
183 }; | 207 }; |
184 | 208 |
185 } // namespace browser_sync | 209 } // namespace browser_sync |
186 | 210 |
187 #endif // CHROME_BROWSER_SYNC_TEST_ENGINE_SYNCER_COMMAND_TEST_H_ | 211 #endif // CHROME_BROWSER_SYNC_TEST_ENGINE_SYNCER_COMMAND_TEST_H_ |
OLD | NEW |