Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(624)

Side by Side Diff: components/autofill/core/browser/personal_data_manager_unittest.cc

Issue 560093002: PersonalDataManagerTest should delete temporary directory AFTER WebDataServiceBackend stops using i… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <string> 5 #include <string>
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/files/scoped_temp_dir.h" 8 #include "base/files/scoped_temp_dir.h"
9 #include "base/guid.h" 9 #include "base/guid.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 new AutofillWebDataService(web_database_, 76 new AutofillWebDataService(web_database_,
77 base::MessageLoopProxy::current(), 77 base::MessageLoopProxy::current(),
78 base::MessageLoopProxy::current(), 78 base::MessageLoopProxy::current(),
79 WebDataServiceBase::ProfileErrorCallback()); 79 WebDataServiceBase::ProfileErrorCallback());
80 autofill_database_service_->Init(); 80 autofill_database_service_->Init();
81 81
82 test::DisableSystemServices(prefs_.get()); 82 test::DisableSystemServices(prefs_.get());
83 ResetPersonalDataManager(USER_MODE_NORMAL); 83 ResetPersonalDataManager(USER_MODE_NORMAL);
84 } 84 }
85 85
86 virtual void TearDown() {
87 // Destruction order is imposed explicitly here.
88 personal_data_.reset(NULL);
89
90 autofill_database_service_->ShutdownOnUIThread();
91 web_database_->ShutdownDatabase();
92 autofill_database_service_ = NULL;
93 web_database_ = NULL;
94 }
95
96 void ResetPersonalDataManager(UserMode user_mode) { 86 void ResetPersonalDataManager(UserMode user_mode) {
97 bool is_incognito = (user_mode == USER_MODE_INCOGNITO); 87 bool is_incognito = (user_mode == USER_MODE_INCOGNITO);
98 personal_data_.reset(new PersonalDataManager("en-US")); 88 personal_data_.reset(new PersonalDataManager("en-US"));
99 personal_data_->Init( 89 personal_data_->Init(
100 scoped_refptr<AutofillWebDataService>(autofill_database_service_), 90 scoped_refptr<AutofillWebDataService>(autofill_database_service_),
101 prefs_.get(), 91 prefs_.get(),
102 is_incognito); 92 is_incognito);
103 personal_data_->AddObserver(&personal_data_observer_); 93 personal_data_->AddObserver(&personal_data_observer_);
104 94
105 // Verify that the web database has been updated and the notification sent. 95 // Verify that the web database has been updated and the notification sent.
106 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) 96 EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged())
107 .WillOnce(QuitMainMessageLoop()); 97 .WillOnce(QuitMainMessageLoop());
108 base::MessageLoop::current()->Run(); 98 base::MessageLoop::current()->Run();
109 } 99 }
110 100
101 // Directory should be deleted at the end to ensure that
Ilya Sherman 2014/09/10 19:24:10 nit: "Directory" -> "The temporary directory"
102 // files are not used anymore and deletion succeeds.
103 base::ScopedTempDir temp_dir_;
111 base::MessageLoopForUI message_loop_; 104 base::MessageLoopForUI message_loop_;
112 scoped_ptr<PrefService> prefs_; 105 scoped_ptr<PrefService> prefs_;
113 scoped_refptr<AutofillWebDataService> autofill_database_service_; 106 scoped_refptr<AutofillWebDataService> autofill_database_service_;
114 scoped_refptr<WebDatabaseService> web_database_; 107 scoped_refptr<WebDatabaseService> web_database_;
115 base::ScopedTempDir temp_dir_; 108 PersonalDataLoadedObserverMock personal_data_observer_;
116 scoped_ptr<PersonalDataManager> personal_data_; 109 scoped_ptr<PersonalDataManager> personal_data_;
117 PersonalDataLoadedObserverMock personal_data_observer_;
118 }; 110 };
119 111
120 TEST_F(PersonalDataManagerTest, AddProfile) { 112 TEST_F(PersonalDataManagerTest, AddProfile) {
121 // Add profile0 to the database. 113 // Add profile0 to the database.
122 AutofillProfile profile0(autofill::test::GetFullProfile()); 114 AutofillProfile profile0(autofill::test::GetFullProfile());
123 profile0.SetRawInfo(EMAIL_ADDRESS, ASCIIToUTF16("j@s.com")); 115 profile0.SetRawInfo(EMAIL_ADDRESS, ASCIIToUTF16("j@s.com"));
124 personal_data_->AddProfile(profile0); 116 personal_data_->AddProfile(profile0);
125 117
126 // Reload the database. 118 // Reload the database.
127 ResetPersonalDataManager(USER_MODE_NORMAL); 119 ResetPersonalDataManager(USER_MODE_NORMAL);
(...skipping 2555 matching lines...) Expand 10 before | Expand all | Expand 10 after
2683 2675
2684 prefs_->SetBoolean(prefs::kAutofillEnabled, true); 2676 prefs_->SetBoolean(prefs::kAutofillEnabled, true);
2685 EXPECT_TRUE(personal_data_->ShouldShowAccessAddressBookSuggestion(type)); 2677 EXPECT_TRUE(personal_data_->ShouldShowAccessAddressBookSuggestion(type));
2686 2678
2687 prefs_->SetBoolean(prefs::kAutofillEnabled, false); 2679 prefs_->SetBoolean(prefs::kAutofillEnabled, false);
2688 EXPECT_FALSE(personal_data_->ShouldShowAccessAddressBookSuggestion(type)); 2680 EXPECT_FALSE(personal_data_->ShouldShowAccessAddressBookSuggestion(type));
2689 } 2681 }
2690 #endif // defined(OS_MACOSX) && !defined(OS_IOS) 2682 #endif // defined(OS_MACOSX) && !defined(OS_IOS)
2691 2683
2692 } // namespace autofill 2684 } // namespace autofill
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698