Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 <set> | 5 #include <set> |
| 6 #include <string> | 6 #include <string> |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 | 10 |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 112 MOCK_METHOD1(AddAutofillProfile, | 112 MOCK_METHOD1(AddAutofillProfile, |
| 113 bool(const AutofillProfile&)); // NOLINT | 113 bool(const AutofillProfile&)); // NOLINT |
| 114 MOCK_METHOD1(RemoveAutofillProfile, | 114 MOCK_METHOD1(RemoveAutofillProfile, |
| 115 bool(const std::string&)); // NOLINT | 115 bool(const std::string&)); // NOLINT |
| 116 }; | 116 }; |
| 117 | 117 |
| 118 MATCHER_P(MatchProfiles, profile, "") { | 118 MATCHER_P(MatchProfiles, profile, "") { |
| 119 return (profile.Compare(arg) == 0); | 119 return (profile.Compare(arg) == 0); |
| 120 } | 120 } |
| 121 | 121 |
| 122 | |
| 123 class WebDatabaseFake : public WebDatabase { | 122 class WebDatabaseFake : public WebDatabase { |
| 124 public: | 123 public: |
| 125 explicit WebDatabaseFake(AutofillTable* autofill_table) | 124 explicit WebDatabaseFake(AutofillTable* autofill_table) |
| 126 : autofill_table_(autofill_table) {} | 125 : autofill_table_(autofill_table) {} |
| 127 | 126 |
| 128 virtual AutofillTable* GetAutofillTable() OVERRIDE { | 127 virtual AutofillTable* GetAutofillTable() OVERRIDE { |
| 129 return autofill_table_; | 128 return autofill_table_; |
| 130 } | 129 } |
| 131 | 130 |
| 132 private: | 131 private: |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 150 return syncer::AUTOFILL_PROFILE; | 149 return syncer::AUTOFILL_PROFILE; |
| 151 } | 150 } |
| 152 | 151 |
| 153 class WebDataServiceFake : public WebDataService { | 152 class WebDataServiceFake : public WebDataService { |
| 154 public: | 153 public: |
| 155 WebDataServiceFake() | 154 WebDataServiceFake() |
| 156 : web_database_(NULL), | 155 : web_database_(NULL), |
| 157 syncable_service_created_or_destroyed_(false, false) { | 156 syncable_service_created_or_destroyed_(false, false) { |
| 158 } | 157 } |
| 159 | 158 |
| 160 static scoped_refptr<RefcountedProfileKeyedService> Build(Profile* profile) { | |
| 161 return new WebDataServiceFake; | |
| 162 } | |
| 163 | |
| 164 void SetDatabase(WebDatabase* web_database) { | 159 void SetDatabase(WebDatabase* web_database) { |
| 165 web_database_ = web_database; | 160 web_database_ = web_database; |
| 166 } | 161 } |
| 167 | 162 |
| 168 void StartSyncableService() { | 163 void StartSyncableService() { |
| 169 // The |autofill_profile_syncable_service_| must be constructed on the DB | 164 // The |autofill_profile_syncable_service_| must be constructed on the DB |
| 170 // thread. | 165 // thread. |
| 171 BrowserThread::PostTask(BrowserThread::DB, FROM_HERE, | 166 BrowserThread::PostTask(BrowserThread::DB, FROM_HERE, |
| 172 base::Bind(&WebDataServiceFake::CreateSyncableService, | 167 base::Bind(&WebDataServiceFake::CreateSyncableService, |
| 173 base::Unretained(this))); | 168 base::Unretained(this))); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 212 } | 207 } |
| 213 | 208 |
| 214 virtual AutofillProfileSyncableService* | 209 virtual AutofillProfileSyncableService* |
| 215 GetAutofillProfileSyncableService() const OVERRIDE { | 210 GetAutofillProfileSyncableService() const OVERRIDE { |
| 216 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB)); | 211 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| 217 EXPECT_TRUE(autofill_profile_syncable_service_); | 212 EXPECT_TRUE(autofill_profile_syncable_service_); |
| 218 | 213 |
| 219 return autofill_profile_syncable_service_; | 214 return autofill_profile_syncable_service_; |
| 220 } | 215 } |
| 221 | 216 |
| 222 virtual void ShutdownOnUIThread() OVERRIDE {} | |
| 223 | |
| 224 private: | 217 private: |
| 225 virtual ~WebDataServiceFake() {} | 218 virtual ~WebDataServiceFake() {} |
| 226 | 219 |
| 227 void CreateSyncableService() { | 220 void CreateSyncableService() { |
| 228 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB)); | 221 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| 229 // These services are deleted in DestroySyncableService(). | 222 // These services are deleted in DestroySyncableService(). |
| 230 autocomplete_syncable_service_ = new AutocompleteSyncableService(this); | 223 autocomplete_syncable_service_ = new AutocompleteSyncableService(this); |
| 231 autofill_profile_syncable_service_ = | 224 autofill_profile_syncable_service_ = |
| 232 new AutofillProfileSyncableService(this); | 225 new AutofillProfileSyncableService(this); |
| 233 syncable_service_created_or_destroyed_.Signal(); | 226 syncable_service_created_or_destroyed_.Signal(); |
| 234 } | 227 } |
| 235 | 228 |
| 236 void DestroySyncableService() { | 229 void DestroySyncableService() { |
| 237 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB)); | 230 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| 238 delete autofill_profile_syncable_service_; | 231 delete autofill_profile_syncable_service_; |
| 239 delete autocomplete_syncable_service_; | 232 delete autocomplete_syncable_service_; |
| 240 syncable_service_created_or_destroyed_.Signal(); | 233 syncable_service_created_or_destroyed_.Signal(); |
| 241 } | 234 } |
| 242 | 235 |
| 243 WebDatabase* web_database_; | 236 WebDatabase* web_database_; |
| 244 | 237 |
| 245 // We own the syncable services, but don't use a |scoped_ptr| because the | 238 // We own the syncable services, but don't use a |scoped_ptr| because the |
| 246 // lifetime must be managed on the DB thread. | 239 // lifetime must be managed on the DB thread. |
| 247 AutocompleteSyncableService* autocomplete_syncable_service_; | 240 AutocompleteSyncableService* autocomplete_syncable_service_; |
| 248 AutofillProfileSyncableService* autofill_profile_syncable_service_; | 241 AutofillProfileSyncableService* autofill_profile_syncable_service_; |
| 249 WaitableEvent syncable_service_created_or_destroyed_; | 242 WaitableEvent syncable_service_created_or_destroyed_; |
| 250 }; | 243 }; |
| 251 | 244 |
| 245 class MockWebDataServiceWrapper : public WebDataServiceWrapper { | |
| 246 public: | |
| 247 static ProfileKeyedService* Build(Profile* profile) { | |
| 248 return new MockWebDataServiceWrapper(); | |
| 249 } | |
| 250 | |
| 251 MockWebDataServiceWrapper() { | |
| 252 web_data_service_fake_ = new WebDataServiceFake(); | |
| 253 } | |
| 254 | |
| 255 void Shutdown() OVERRIDE { | |
| 256 } | |
| 257 | |
| 258 scoped_refptr<WebDataService> GetWebData() OVERRIDE { | |
| 259 return web_data_service_fake_; | |
| 260 } | |
| 261 | |
| 262 ~MockWebDataServiceWrapper() { | |
| 263 web_data_service_fake_ = NULL; | |
|
dhollowa
2013/03/18 22:38:38
not needed
Jói
2013/03/19 16:32:18
Done.
| |
| 264 } | |
| 265 | |
| 266 private: | |
| 267 scoped_refptr<WebDataServiceFake> web_data_service_fake_; | |
| 268 | |
|
dhollowa
2013/03/18 22:38:38
nit: delete extra line
Jói
2013/03/19 16:32:18
Done.
| |
| 269 }; | |
| 270 | |
|
dhollowa
2013/03/18 22:38:38
DISALLOW_COPY_AND_ASSIGN
Jói
2013/03/19 16:32:18
Done.
| |
| 252 ACTION_P(MakeAutocompleteSyncComponents, wds) { | 271 ACTION_P(MakeAutocompleteSyncComponents, wds) { |
| 253 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB)); | 272 EXPECT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::DB)); |
| 254 if (!BrowserThread::CurrentlyOn(BrowserThread::DB)) | 273 if (!BrowserThread::CurrentlyOn(BrowserThread::DB)) |
| 255 return base::WeakPtr<syncer::SyncableService>(); | 274 return base::WeakPtr<syncer::SyncableService>(); |
| 256 return wds->GetAutocompleteSyncableService()->AsWeakPtr(); | 275 return wds->GetAutocompleteSyncableService()->AsWeakPtr(); |
| 257 } | 276 } |
| 258 | 277 |
| 259 ACTION_P(ReturnNewDataTypeManagerWithDebugListener, debug_listener) { | 278 ACTION_P(ReturnNewDataTypeManagerWithDebugListener, debug_listener) { |
| 260 return new browser_sync::DataTypeManagerImpl( | 279 return new browser_sync::DataTypeManagerImpl( |
| 261 debug_listener, | 280 debug_listener, |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 403 NOTREACHED(); | 422 NOTREACHED(); |
| 404 return NULL; | 423 return NULL; |
| 405 } | 424 } |
| 406 } | 425 } |
| 407 | 426 |
| 408 virtual void SetUp() OVERRIDE { | 427 virtual void SetUp() OVERRIDE { |
| 409 AbstractProfileSyncServiceTest::SetUp(); | 428 AbstractProfileSyncServiceTest::SetUp(); |
| 410 profile_.reset(new ProfileMock()); | 429 profile_.reset(new ProfileMock()); |
| 411 profile_->CreateRequestContext(); | 430 profile_->CreateRequestContext(); |
| 412 web_database_.reset(new WebDatabaseFake(&autofill_table_)); | 431 web_database_.reset(new WebDatabaseFake(&autofill_table_)); |
| 413 web_data_service_ = static_cast<WebDataServiceFake*>( | 432 MockWebDataServiceWrapper* wrapper = |
| 414 WebDataServiceFactory::GetInstance()->SetTestingFactoryAndUse( | 433 static_cast<MockWebDataServiceWrapper*>( |
| 415 profile_.get(), WebDataServiceFake::Build).get()); | 434 WebDataServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
| 435 profile_.get(), MockWebDataServiceWrapper::Build)); | |
| 436 web_data_service_ = | |
| 437 static_cast<WebDataServiceFake*>(wrapper->GetWebData().get()); | |
| 416 web_data_service_->SetDatabase(web_database_.get()); | 438 web_data_service_->SetDatabase(web_database_.get()); |
| 417 | 439 |
| 418 MockPersonalDataManagerService* personal_data_manager_service = | 440 MockPersonalDataManagerService* personal_data_manager_service = |
| 419 static_cast<MockPersonalDataManagerService*>( | 441 static_cast<MockPersonalDataManagerService*>( |
| 420 PersonalDataManagerFactory::GetInstance()->SetTestingFactoryAndUse( | 442 PersonalDataManagerFactory::GetInstance()->SetTestingFactoryAndUse( |
| 421 profile_.get(), MockPersonalDataManagerService::Build)); | 443 profile_.get(), MockPersonalDataManagerService::Build)); |
| 422 personal_data_manager_ = | 444 personal_data_manager_ = |
| 423 personal_data_manager_service->GetPersonalDataManager(); | 445 personal_data_manager_service->GetPersonalDataManager(); |
| 424 | 446 |
| 425 token_service_ = static_cast<TokenService*>( | 447 token_service_ = static_cast<TokenService*>( |
| (...skipping 892 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1318 std::vector<AutofillEntry> sync_entries; | 1340 std::vector<AutofillEntry> sync_entries; |
| 1319 std::vector<AutofillProfile> sync_profiles; | 1341 std::vector<AutofillProfile> sync_profiles; |
| 1320 ASSERT_TRUE(GetAutofillEntriesFromSyncDB(&sync_entries, &sync_profiles)); | 1342 ASSERT_TRUE(GetAutofillEntriesFromSyncDB(&sync_entries, &sync_profiles)); |
| 1321 EXPECT_EQ(3U, sync_entries.size()); | 1343 EXPECT_EQ(3U, sync_entries.size()); |
| 1322 EXPECT_EQ(0U, sync_profiles.size()); | 1344 EXPECT_EQ(0U, sync_profiles.size()); |
| 1323 for (size_t i = 0; i < sync_entries.size(); i++) { | 1345 for (size_t i = 0; i < sync_entries.size(); i++) { |
| 1324 DVLOG(1) << "Entry " << i << ": " << sync_entries[i].key().name() | 1346 DVLOG(1) << "Entry " << i << ": " << sync_entries[i].key().name() |
| 1325 << ", " << sync_entries[i].key().value(); | 1347 << ", " << sync_entries[i].key().value(); |
| 1326 } | 1348 } |
| 1327 } | 1349 } |
| OLD | NEW |