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

Side by Side Diff: chrome/browser/ui/passwords/manage_passwords_state_unittest.cc

Issue 2253233005: Change ScopedVector to vector<unique_ptr> in the password's UI code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: android+ Created 4 years, 4 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/ui/passwords/manage_passwords_state.h" 5 #include "chrome/browser/ui/passwords/manage_passwords_state.h"
6 6
7 #include <iterator>
7 #include <utility> 8 #include <utility>
8 #include <vector> 9 #include <vector>
9 10
10 #include "base/memory/ptr_util.h" 11 #include "base/memory/ptr_util.h"
11 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
12 #include "components/password_manager/core/browser/password_form_manager.h" 13 #include "components/password_manager/core/browser/password_form_manager.h"
13 #include "components/password_manager/core/browser/password_manager.h" 14 #include "components/password_manager/core/browser/password_manager.h"
14 #include "components/password_manager/core/browser/stub_form_saver.h" 15 #include "components/password_manager/core/browser/stub_form_saver.h"
15 #include "components/password_manager/core/browser/stub_password_manager_client. h" 16 #include "components/password_manager/core/browser/stub_password_manager_client. h"
16 #include "components/password_manager/core/browser/stub_password_manager_driver. h" 17 #include "components/password_manager/core/browser/stub_password_manager_driver. h"
17 #include "testing/gmock/include/gmock/gmock.h" 18 #include "testing/gmock/include/gmock/gmock.h"
18 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
19 #include "url/gurl.h" 20 #include "url/gurl.h"
20 #include "url/origin.h" 21 #include "url/origin.h"
21 22
22 using ::testing::_; 23 using ::testing::_;
23 using ::testing::Contains; 24 using ::testing::Contains;
24 using ::testing::ElementsAre; 25 using ::testing::ElementsAre;
25 using ::testing::IsEmpty; 26 using ::testing::IsEmpty;
26 using ::testing::Not; 27 using ::testing::Not;
27 using ::testing::Pointee; 28 using ::testing::Pointee;
28 using ::testing::UnorderedElementsAre; 29 using ::testing::UnorderedElementsAre;
29 30
30 namespace { 31 namespace {
31 32
33 std::vector<const autofill::PasswordForm*> GetRawPointers(
34 const std::vector<std::unique_ptr<autofill::PasswordForm>>& forms) {
35 std::vector<const autofill::PasswordForm*> result;
36 std::transform(forms.begin(), forms.end(), std::back_inserter(result),
37 [](const std::unique_ptr<autofill::PasswordForm>& form) {
38 return form.get();
39 });
40 return result;
41 }
42
32 class ManagePasswordsStateTest : public testing::Test { 43 class ManagePasswordsStateTest : public testing::Test {
33 public: 44 public:
34 ManagePasswordsStateTest() : password_manager_(&stub_client_) {} 45 ManagePasswordsStateTest() : password_manager_(&stub_client_) {}
35 46
36 void SetUp() override { 47 void SetUp() override {
37 test_local_form_.origin = GURL("http://example.com"); 48 test_local_form_.origin = GURL("http://example.com");
38 test_local_form_.username_value = base::ASCIIToUTF16("username"); 49 test_local_form_.username_value = base::ASCIIToUTF16("username");
39 test_local_form_.password_value = base::ASCIIToUTF16("12345"); 50 test_local_form_.password_value = base::ASCIIToUTF16("12345");
40 51
41 test_submitted_form_ = test_local_form_; 52 test_submitted_form_ = test_local_form_;
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 test_form_manager->federated_matches().size()); 141 test_form_manager->federated_matches().size());
131 if (include_federated) { 142 if (include_federated) {
132 EXPECT_EQ(test_local_federated_form(), 143 EXPECT_EQ(test_local_federated_form(),
133 *test_form_manager->federated_matches().front()); 144 *test_form_manager->federated_matches().front());
134 } 145 }
135 return test_form_manager; 146 return test_form_manager;
136 } 147 }
137 148
138 void ManagePasswordsStateTest::TestNoisyUpdates() { 149 void ManagePasswordsStateTest::TestNoisyUpdates() {
139 const std::vector<const autofill::PasswordForm*> forms = 150 const std::vector<const autofill::PasswordForm*> forms =
140 passwords_data_.GetCurrentForms(); 151 GetRawPointers(passwords_data_.GetCurrentForms());
141 const std::vector<const autofill::PasswordForm*> federated_forms = 152 const std::vector<const autofill::PasswordForm*> federated_forms =
142 passwords_data_.federated_credentials_forms(); 153 GetRawPointers(passwords_data_.federation_providers_forms());
143 const password_manager::ui::State state = passwords_data_.state(); 154 const password_manager::ui::State state = passwords_data_.state();
144 const GURL origin = passwords_data_.origin(); 155 const GURL origin = passwords_data_.origin();
145 156
146 // Push "Add". 157 // Push "Add".
147 autofill::PasswordForm form; 158 autofill::PasswordForm form;
148 form.origin = GURL("http://3rdparty.com"); 159 form.origin = GURL("http://3rdparty.com");
149 form.username_value = base::ASCIIToUTF16("username"); 160 form.username_value = base::ASCIIToUTF16("username");
150 form.password_value = base::ASCIIToUTF16("12345"); 161 form.password_value = base::ASCIIToUTF16("12345");
151 password_manager::PasswordStoreChange change( 162 password_manager::PasswordStoreChange change(
152 password_manager::PasswordStoreChange::ADD, form); 163 password_manager::PasswordStoreChange::ADD, form);
153 password_manager::PasswordStoreChangeList list(1, change); 164 password_manager::PasswordStoreChangeList list(1, change);
154 passwords_data().ProcessLoginsChanged(list); 165 passwords_data().ProcessLoginsChanged(list);
155 EXPECT_EQ(forms, passwords_data().GetCurrentForms()); 166 EXPECT_EQ(forms, GetRawPointers(passwords_data().GetCurrentForms()));
156 EXPECT_EQ(federated_forms, passwords_data().federated_credentials_forms()); 167 EXPECT_EQ(federated_forms,
168 GetRawPointers(passwords_data().federation_providers_forms()));
157 EXPECT_EQ(state, passwords_data().state()); 169 EXPECT_EQ(state, passwords_data().state());
158 EXPECT_EQ(origin, passwords_data().origin()); 170 EXPECT_EQ(origin, passwords_data().origin());
159 171
160 // Update the form. 172 // Update the form.
161 form.password_value = base::ASCIIToUTF16("password"); 173 form.password_value = base::ASCIIToUTF16("password");
162 list[0] = password_manager::PasswordStoreChange( 174 list[0] = password_manager::PasswordStoreChange(
163 password_manager::PasswordStoreChange::UPDATE, form); 175 password_manager::PasswordStoreChange::UPDATE, form);
164 passwords_data().ProcessLoginsChanged(list); 176 passwords_data().ProcessLoginsChanged(list);
165 EXPECT_EQ(forms, passwords_data().GetCurrentForms()); 177 EXPECT_EQ(forms, GetRawPointers(passwords_data().GetCurrentForms()));
166 EXPECT_EQ(federated_forms, passwords_data().federated_credentials_forms()); 178 EXPECT_EQ(federated_forms,
179 GetRawPointers(passwords_data().federation_providers_forms()));
167 EXPECT_EQ(state, passwords_data().state()); 180 EXPECT_EQ(state, passwords_data().state());
168 EXPECT_EQ(origin, passwords_data().origin()); 181 EXPECT_EQ(origin, passwords_data().origin());
169 182
170 // Delete the form. 183 // Delete the form.
171 list[0] = password_manager::PasswordStoreChange( 184 list[0] = password_manager::PasswordStoreChange(
172 password_manager::PasswordStoreChange::REMOVE, form); 185 password_manager::PasswordStoreChange::REMOVE, form);
173 passwords_data().ProcessLoginsChanged(list); 186 passwords_data().ProcessLoginsChanged(list);
174 EXPECT_EQ(forms, passwords_data().GetCurrentForms()); 187 EXPECT_EQ(forms, GetRawPointers(passwords_data().GetCurrentForms()));
175 EXPECT_EQ(federated_forms, passwords_data().federated_credentials_forms()); 188 EXPECT_EQ(federated_forms,
189 GetRawPointers(passwords_data().federation_providers_forms()));
176 EXPECT_EQ(state, passwords_data().state()); 190 EXPECT_EQ(state, passwords_data().state());
177 EXPECT_EQ(origin, passwords_data().origin()); 191 EXPECT_EQ(origin, passwords_data().origin());
178 } 192 }
179 193
180 void ManagePasswordsStateTest::TestAllUpdates() { 194 void ManagePasswordsStateTest::TestAllUpdates() {
181 const std::vector<const autofill::PasswordForm*> forms = 195 const std::vector<const autofill::PasswordForm*> forms =
182 passwords_data_.GetCurrentForms(); 196 GetRawPointers(passwords_data_.GetCurrentForms());
183 const std::vector<const autofill::PasswordForm*> federated_forms = 197 const std::vector<const autofill::PasswordForm*> federated_forms =
184 passwords_data_.federated_credentials_forms(); 198 GetRawPointers(passwords_data_.federation_providers_forms());
185 const password_manager::ui::State state = passwords_data_.state(); 199 const password_manager::ui::State state = passwords_data_.state();
186 const GURL origin = passwords_data_.origin(); 200 const GURL origin = passwords_data_.origin();
187 EXPECT_NE(GURL::EmptyGURL(), origin); 201 EXPECT_NE(GURL::EmptyGURL(), origin);
188 202
189 // Push "Add". 203 // Push "Add".
190 autofill::PasswordForm form; 204 autofill::PasswordForm form;
191 form.origin = origin; 205 form.origin = origin;
192 form.username_value = base::ASCIIToUTF16("user15"); 206 form.username_value = base::ASCIIToUTF16("user15");
193 form.password_value = base::ASCIIToUTF16("12345"); 207 form.password_value = base::ASCIIToUTF16("12345");
194 password_manager::PasswordStoreChange change( 208 password_manager::PasswordStoreChange change(
195 password_manager::PasswordStoreChange::ADD, form); 209 password_manager::PasswordStoreChange::ADD, form);
196 password_manager::PasswordStoreChangeList list(1, change); 210 password_manager::PasswordStoreChangeList list(1, change);
197 passwords_data().ProcessLoginsChanged(list); 211 passwords_data().ProcessLoginsChanged(list);
198 EXPECT_THAT(passwords_data().GetCurrentForms(), Contains(Pointee(form))); 212 EXPECT_THAT(passwords_data().GetCurrentForms(), Contains(Pointee(form)));
199 EXPECT_EQ(federated_forms, passwords_data().federated_credentials_forms()); 213 EXPECT_EQ(federated_forms,
214 GetRawPointers(passwords_data().federation_providers_forms()));
200 EXPECT_EQ(state, passwords_data().state()); 215 EXPECT_EQ(state, passwords_data().state());
201 EXPECT_EQ(origin, passwords_data().origin()); 216 EXPECT_EQ(origin, passwords_data().origin());
202 217
203 // Update the form. 218 // Update the form.
204 form.password_value = base::ASCIIToUTF16("password"); 219 form.password_value = base::ASCIIToUTF16("password");
205 list[0] = password_manager::PasswordStoreChange( 220 list[0] = password_manager::PasswordStoreChange(
206 password_manager::PasswordStoreChange::UPDATE, form); 221 password_manager::PasswordStoreChange::UPDATE, form);
207 passwords_data().ProcessLoginsChanged(list); 222 passwords_data().ProcessLoginsChanged(list);
208 EXPECT_THAT(passwords_data().GetCurrentForms(), Contains(Pointee(form))); 223 EXPECT_THAT(passwords_data().GetCurrentForms(), Contains(Pointee(form)));
209 EXPECT_EQ(federated_forms, passwords_data().federated_credentials_forms()); 224 EXPECT_EQ(federated_forms,
225 GetRawPointers(passwords_data().federation_providers_forms()));
210 EXPECT_EQ(state, passwords_data().state()); 226 EXPECT_EQ(state, passwords_data().state());
211 EXPECT_EQ(origin, passwords_data().origin()); 227 EXPECT_EQ(origin, passwords_data().origin());
212 228
213 // Delete the form. 229 // Delete the form.
214 list[0] = password_manager::PasswordStoreChange( 230 list[0] = password_manager::PasswordStoreChange(
215 password_manager::PasswordStoreChange::REMOVE, form); 231 password_manager::PasswordStoreChange::REMOVE, form);
216 passwords_data().ProcessLoginsChanged(list); 232 passwords_data().ProcessLoginsChanged(list);
217 EXPECT_EQ(forms, passwords_data().GetCurrentForms()); 233 EXPECT_EQ(forms, GetRawPointers(passwords_data().GetCurrentForms()));
218 EXPECT_EQ(federated_forms, passwords_data().federated_credentials_forms()); 234 EXPECT_EQ(federated_forms,
235 GetRawPointers(passwords_data().federation_providers_forms()));
219 EXPECT_EQ(state, passwords_data().state()); 236 EXPECT_EQ(state, passwords_data().state());
220 EXPECT_EQ(origin, passwords_data().origin()); 237 EXPECT_EQ(origin, passwords_data().origin());
221 238
222 TestNoisyUpdates(); 239 TestNoisyUpdates();
223 } 240 }
224 241
225 void ManagePasswordsStateTest::TestBlacklistedUpdates() { 242 void ManagePasswordsStateTest::TestBlacklistedUpdates() {
226 const std::vector<const autofill::PasswordForm*> forms = 243 const std::vector<const autofill::PasswordForm*> forms =
227 passwords_data_.GetCurrentForms(); 244 GetRawPointers(passwords_data_.GetCurrentForms());
228 const std::vector<const autofill::PasswordForm*> federated_forms = 245 const std::vector<const autofill::PasswordForm*> federated_forms =
229 passwords_data_.federated_credentials_forms(); 246 GetRawPointers(passwords_data_.federation_providers_forms());
230 const password_manager::ui::State state = passwords_data_.state(); 247 const password_manager::ui::State state = passwords_data_.state();
231 const GURL origin = passwords_data_.origin(); 248 const GURL origin = passwords_data_.origin();
232 EXPECT_NE(GURL::EmptyGURL(), origin); 249 EXPECT_NE(GURL::EmptyGURL(), origin);
233 250
234 // Process the blacklisted form. 251 // Process the blacklisted form.
235 autofill::PasswordForm blacklisted; 252 autofill::PasswordForm blacklisted;
236 blacklisted.blacklisted_by_user = true; 253 blacklisted.blacklisted_by_user = true;
237 blacklisted.origin = origin; 254 blacklisted.origin = origin;
238 password_manager::PasswordStoreChangeList list; 255 password_manager::PasswordStoreChangeList list;
239 list.push_back(password_manager::PasswordStoreChange( 256 list.push_back(password_manager::PasswordStoreChange(
240 password_manager::PasswordStoreChange::ADD, blacklisted)); 257 password_manager::PasswordStoreChange::ADD, blacklisted));
241 passwords_data().ProcessLoginsChanged(list); 258 passwords_data().ProcessLoginsChanged(list);
242 EXPECT_EQ(forms, passwords_data().GetCurrentForms()); 259 EXPECT_EQ(forms, GetRawPointers(passwords_data().GetCurrentForms()));
243 EXPECT_EQ(federated_forms, passwords_data().federated_credentials_forms()); 260 EXPECT_EQ(federated_forms,
261 GetRawPointers(passwords_data().federation_providers_forms()));
244 EXPECT_EQ(state, passwords_data().state()); 262 EXPECT_EQ(state, passwords_data().state());
245 EXPECT_EQ(origin, passwords_data().origin()); 263 EXPECT_EQ(origin, passwords_data().origin());
246 264
247 // Delete the blacklisted form. 265 // Delete the blacklisted form.
248 list[0] = password_manager::PasswordStoreChange( 266 list[0] = password_manager::PasswordStoreChange(
249 password_manager::PasswordStoreChange::REMOVE, blacklisted); 267 password_manager::PasswordStoreChange::REMOVE, blacklisted);
250 passwords_data().ProcessLoginsChanged(list); 268 passwords_data().ProcessLoginsChanged(list);
251 EXPECT_EQ(forms, passwords_data().GetCurrentForms()); 269 EXPECT_EQ(forms, GetRawPointers(passwords_data().GetCurrentForms()));
252 EXPECT_EQ(federated_forms, passwords_data().federated_credentials_forms()); 270 EXPECT_EQ(federated_forms,
271 GetRawPointers(passwords_data().federation_providers_forms()));
253 EXPECT_EQ(state, passwords_data().state()); 272 EXPECT_EQ(state, passwords_data().state());
254 EXPECT_EQ(origin, passwords_data().origin()); 273 EXPECT_EQ(origin, passwords_data().origin());
255 } 274 }
256 275
257 TEST_F(ManagePasswordsStateTest, DefaultState) { 276 TEST_F(ManagePasswordsStateTest, DefaultState) {
258 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty()); 277 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty());
259 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 278 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
260 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state()); 279 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state());
261 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin()); 280 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin());
262 EXPECT_FALSE(passwords_data().form_manager()); 281 EXPECT_FALSE(passwords_data().form_manager());
263 282
264 TestNoisyUpdates(); 283 TestNoisyUpdates();
265 } 284 }
266 285
267 TEST_F(ManagePasswordsStateTest, PasswordSubmitted) { 286 TEST_F(ManagePasswordsStateTest, PasswordSubmitted) {
268 test_stored_forms().push_back(new autofill::PasswordForm(test_local_form())); 287 test_stored_forms().push_back(new autofill::PasswordForm(test_local_form()));
269 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( 288 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
270 CreateFormManager()); 289 CreateFormManager());
271 test_form_manager->ProvisionallySave( 290 test_form_manager->ProvisionallySave(
272 test_submitted_form(), 291 test_submitted_form(),
273 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 292 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
274 passwords_data().OnPendingPassword(std::move(test_form_manager)); 293 passwords_data().OnPendingPassword(std::move(test_form_manager));
275 294
276 EXPECT_THAT(passwords_data().GetCurrentForms(), 295 EXPECT_THAT(passwords_data().GetCurrentForms(),
277 ElementsAre(Pointee(test_local_form()))); 296 ElementsAre(Pointee(test_local_form())));
278 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 297 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
279 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, 298 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
280 passwords_data().state()); 299 passwords_data().state());
281 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); 300 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin());
282 ASSERT_TRUE(passwords_data().form_manager()); 301 ASSERT_TRUE(passwords_data().form_manager());
283 EXPECT_EQ(test_submitted_form(), 302 EXPECT_EQ(test_submitted_form(),
284 passwords_data().form_manager()->pending_credentials()); 303 passwords_data().form_manager()->pending_credentials());
285 TestAllUpdates(); 304 TestAllUpdates();
286 } 305 }
287 306
288 TEST_F(ManagePasswordsStateTest, PasswordSaved) { 307 TEST_F(ManagePasswordsStateTest, PasswordSaved) {
289 test_stored_forms().push_back(new autofill::PasswordForm(test_local_form())); 308 test_stored_forms().push_back(new autofill::PasswordForm(test_local_form()));
290 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( 309 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
291 CreateFormManager()); 310 CreateFormManager());
292 test_form_manager->ProvisionallySave( 311 test_form_manager->ProvisionallySave(
293 test_submitted_form(), 312 test_submitted_form(),
294 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 313 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
295 passwords_data().OnPendingPassword(std::move(test_form_manager)); 314 passwords_data().OnPendingPassword(std::move(test_form_manager));
296 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, 315 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
297 passwords_data().state()); 316 passwords_data().state());
298 317
299 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); 318 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE);
300 EXPECT_THAT(passwords_data().GetCurrentForms(), 319 EXPECT_THAT(passwords_data().GetCurrentForms(),
301 ElementsAre(Pointee(test_local_form()))); 320 ElementsAre(Pointee(test_local_form())));
302 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 321 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
303 EXPECT_EQ(password_manager::ui::MANAGE_STATE, 322 EXPECT_EQ(password_manager::ui::MANAGE_STATE,
304 passwords_data().state()); 323 passwords_data().state());
305 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); 324 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin());
306 TestAllUpdates(); 325 TestAllUpdates();
307 } 326 }
308 327
309 TEST_F(ManagePasswordsStateTest, PasswordSubmittedFederationsPresent) { 328 TEST_F(ManagePasswordsStateTest, PasswordSubmittedFederationsPresent) {
310 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( 329 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
311 CreateFormManagerWithFederation()); 330 CreateFormManagerWithFederation());
312 test_form_manager->ProvisionallySave( 331 test_form_manager->ProvisionallySave(
313 test_submitted_form(), 332 test_submitted_form(),
314 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 333 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
315 passwords_data().OnPendingPassword(std::move(test_form_manager)); 334 passwords_data().OnPendingPassword(std::move(test_form_manager));
316 335
317 EXPECT_THAT(passwords_data().GetCurrentForms(), 336 EXPECT_THAT(passwords_data().GetCurrentForms(),
318 ElementsAre(Pointee(test_local_federated_form()))); 337 ElementsAre(Pointee(test_local_federated_form())));
319 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 338 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
320 } 339 }
321 340
322 TEST_F(ManagePasswordsStateTest, OnRequestCredentials) { 341 TEST_F(ManagePasswordsStateTest, OnRequestCredentials) {
323 ScopedVector<autofill::PasswordForm> local_credentials; 342 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials;
324 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 343 local_credentials.emplace_back(new autofill::PasswordForm(test_local_form()));
325 ScopedVector<autofill::PasswordForm> federated_credentials; 344 std::vector<std::unique_ptr<autofill::PasswordForm>> federated_credentials;
326 federated_credentials.push_back( 345 federated_credentials.emplace_back(
327 new autofill::PasswordForm(test_federated_form())); 346 new autofill::PasswordForm(test_federated_form()));
328 const GURL origin = test_local_form().origin; 347 const GURL origin = test_local_form().origin;
329 passwords_data().OnRequestCredentials( 348 passwords_data().OnRequestCredentials(
330 std::move(local_credentials), std::move(federated_credentials), origin); 349 std::move(local_credentials), std::move(federated_credentials), origin);
331 passwords_data().set_credentials_callback(base::Bind( 350 passwords_data().set_credentials_callback(base::Bind(
332 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this))); 351 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this)));
333 EXPECT_THAT(passwords_data().GetCurrentForms(), 352 EXPECT_THAT(passwords_data().GetCurrentForms(),
334 ElementsAre(Pointee(test_local_form()))); 353 ElementsAre(Pointee(test_local_form())));
335 EXPECT_THAT(passwords_data().federated_credentials_forms(), 354 EXPECT_THAT(passwords_data().federation_providers_forms(),
336 ElementsAre(Pointee(test_federated_form()))); 355 ElementsAre(Pointee(test_federated_form())));
337 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, 356 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE,
338 passwords_data().state()); 357 passwords_data().state());
339 EXPECT_EQ(origin, passwords_data().origin()); 358 EXPECT_EQ(origin, passwords_data().origin());
340 TestAllUpdates(); 359 TestAllUpdates();
341 360
342 EXPECT_CALL(*this, CredentialCallback(nullptr)); 361 EXPECT_CALL(*this, CredentialCallback(nullptr));
343 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); 362 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE);
344 EXPECT_TRUE(passwords_data().credentials_callback().is_null()); 363 EXPECT_TRUE(passwords_data().credentials_callback().is_null());
345 EXPECT_THAT(passwords_data().GetCurrentForms(), 364 EXPECT_THAT(passwords_data().GetCurrentForms(),
346 ElementsAre(Pointee(test_local_form()))); 365 ElementsAre(Pointee(test_local_form())));
347 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 366 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
348 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); 367 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state());
349 EXPECT_EQ(origin, passwords_data().origin()); 368 EXPECT_EQ(origin, passwords_data().origin());
350 TestAllUpdates(); 369 TestAllUpdates();
351 } 370 }
352 371
353 TEST_F(ManagePasswordsStateTest, AutoSignin) { 372 TEST_F(ManagePasswordsStateTest, AutoSignin) {
354 ScopedVector<autofill::PasswordForm> local_credentials; 373 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials;
355 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 374 local_credentials.emplace_back(new autofill::PasswordForm(test_local_form()));
356 passwords_data().OnAutoSignin(std::move(local_credentials), 375 passwords_data().OnAutoSignin(std::move(local_credentials),
357 test_local_form().origin); 376 test_local_form().origin);
358 EXPECT_THAT(passwords_data().GetCurrentForms(), 377 EXPECT_THAT(passwords_data().GetCurrentForms(),
359 ElementsAre(Pointee(test_local_form()))); 378 ElementsAre(Pointee(test_local_form())));
360 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 379 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
361 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, passwords_data().state()); 380 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, passwords_data().state());
362 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); 381 EXPECT_EQ(test_local_form().origin, passwords_data().origin());
363 TestAllUpdates(); 382 TestAllUpdates();
364 383
365 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); 384 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE);
366 EXPECT_THAT(passwords_data().GetCurrentForms(), 385 EXPECT_THAT(passwords_data().GetCurrentForms(),
367 ElementsAre(Pointee(test_local_form()))); 386 ElementsAre(Pointee(test_local_form())));
368 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 387 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
369 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); 388 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state());
370 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); 389 EXPECT_EQ(test_local_form().origin, passwords_data().origin());
371 TestAllUpdates(); 390 TestAllUpdates();
372 } 391 }
373 392
374 TEST_F(ManagePasswordsStateTest, AutomaticPasswordSave) { 393 TEST_F(ManagePasswordsStateTest, AutomaticPasswordSave) {
375 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( 394 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
376 CreateFormManager()); 395 CreateFormManager());
377 test_form_manager->ProvisionallySave( 396 test_form_manager->ProvisionallySave(
378 test_submitted_form(), 397 test_submitted_form(),
379 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 398 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
380 399
381 passwords_data().OnAutomaticPasswordSave(std::move(test_form_manager)); 400 passwords_data().OnAutomaticPasswordSave(std::move(test_form_manager));
382 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, passwords_data().state()); 401 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, passwords_data().state());
383 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); 402 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin());
384 ASSERT_TRUE(passwords_data().form_manager()); 403 ASSERT_TRUE(passwords_data().form_manager());
385 EXPECT_EQ(test_submitted_form(), 404 EXPECT_EQ(test_submitted_form(),
386 passwords_data().form_manager()->pending_credentials()); 405 passwords_data().form_manager()->pending_credentials());
387 TestAllUpdates(); 406 TestAllUpdates();
388 407
389 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); 408 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE);
390 EXPECT_THAT(passwords_data().GetCurrentForms(), 409 EXPECT_THAT(passwords_data().GetCurrentForms(),
391 ElementsAre(Pointee(test_submitted_form()))); 410 ElementsAre(Pointee(test_submitted_form())));
392 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 411 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
393 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); 412 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state());
394 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); 413 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin());
395 TestAllUpdates(); 414 TestAllUpdates();
396 } 415 }
397 416
398 TEST_F(ManagePasswordsStateTest, AutomaticPasswordSaveWithFederations) { 417 TEST_F(ManagePasswordsStateTest, AutomaticPasswordSaveWithFederations) {
399 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( 418 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
400 CreateFormManagerWithFederation()); 419 CreateFormManagerWithFederation());
401 test_form_manager->ProvisionallySave( 420 test_form_manager->ProvisionallySave(
402 test_submitted_form(), 421 test_submitted_form(),
403 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 422 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
404 423
405 passwords_data().OnAutomaticPasswordSave(std::move(test_form_manager)); 424 passwords_data().OnAutomaticPasswordSave(std::move(test_form_manager));
406 EXPECT_THAT(passwords_data().GetCurrentForms(), 425 EXPECT_THAT(passwords_data().GetCurrentForms(),
407 UnorderedElementsAre(Pointee(test_submitted_form()), 426 UnorderedElementsAre(Pointee(test_submitted_form()),
408 Pointee(test_local_federated_form()))); 427 Pointee(test_local_federated_form())));
409 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 428 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
410 } 429 }
411 430
412 TEST_F(ManagePasswordsStateTest, PasswordAutofilled) { 431 TEST_F(ManagePasswordsStateTest, PasswordAutofilled) {
413 autofill::PasswordFormMap password_form_map; 432 autofill::PasswordFormMap password_form_map;
414 password_form_map.insert(std::make_pair( 433 password_form_map.insert(std::make_pair(
415 test_local_form().username_value, 434 test_local_form().username_value,
416 base::WrapUnique(new autofill::PasswordForm(test_local_form())))); 435 base::WrapUnique(new autofill::PasswordForm(test_local_form()))));
417 GURL origin("https://example.com"); 436 GURL origin("https://example.com");
418 passwords_data().OnPasswordAutofilled(password_form_map, origin, nullptr); 437 passwords_data().OnPasswordAutofilled(password_form_map, origin, nullptr);
419 438
420 EXPECT_THAT(passwords_data().GetCurrentForms(), 439 EXPECT_THAT(passwords_data().GetCurrentForms(),
421 ElementsAre(Pointee(test_local_form()))); 440 ElementsAre(Pointee(test_local_form())));
422 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 441 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
423 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); 442 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state());
424 EXPECT_EQ(origin, passwords_data().origin()); 443 EXPECT_EQ(origin, passwords_data().origin());
425 444
426 // |passwords_data| should hold a separate copy of test_local_form().
427 EXPECT_THAT(passwords_data().GetCurrentForms(),
428 Not(Contains(&test_local_form())));
429 TestAllUpdates(); 445 TestAllUpdates();
430 } 446 }
431 447
432 TEST_F(ManagePasswordsStateTest, PasswordAutofillWithSavedFederations) { 448 TEST_F(ManagePasswordsStateTest, PasswordAutofillWithSavedFederations) {
433 autofill::PasswordFormMap password_form_map; 449 autofill::PasswordFormMap password_form_map;
434 password_form_map.insert(std::make_pair( 450 password_form_map.insert(std::make_pair(
435 test_local_form().username_value, 451 test_local_form().username_value,
436 base::WrapUnique(new autofill::PasswordForm(test_local_form())))); 452 base::WrapUnique(new autofill::PasswordForm(test_local_form()))));
437 GURL origin("https://example.com"); 453 GURL origin("https://example.com");
438 std::vector<std::unique_ptr<autofill::PasswordForm>> federated; 454 std::vector<std::unique_ptr<autofill::PasswordForm>> federated;
439 federated.push_back(base::WrapUnique( 455 federated.push_back(base::WrapUnique(
440 new autofill::PasswordForm(test_local_federated_form()))); 456 new autofill::PasswordForm(test_local_federated_form())));
441 passwords_data().OnPasswordAutofilled(password_form_map, origin, &federated); 457 passwords_data().OnPasswordAutofilled(password_form_map, origin, &federated);
442 458
443 // |federated| represents the locally saved federations. These are bundled in 459 // |federated| represents the locally saved federations. These are bundled in
444 // the "current forms". 460 // the "current forms".
445 EXPECT_THAT(passwords_data().GetCurrentForms(), 461 EXPECT_THAT(passwords_data().GetCurrentForms(),
446 UnorderedElementsAre(Pointee(test_local_form()), 462 UnorderedElementsAre(Pointee(test_local_form()),
447 Pointee(test_local_federated_form()))); 463 Pointee(test_local_federated_form())));
448 // |federated_credentials_forms()| do not refer to the saved federations. 464 // |federated_credentials_forms()| do not refer to the saved federations.
449 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 465 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
450 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); 466 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state());
451 } 467 }
452 468
453 TEST_F(ManagePasswordsStateTest, ActiveOnMixedPSLAndNonPSLMatched) { 469 TEST_F(ManagePasswordsStateTest, ActiveOnMixedPSLAndNonPSLMatched) {
454 autofill::PasswordFormMap password_form_map; 470 autofill::PasswordFormMap password_form_map;
455 password_form_map.insert(std::make_pair( 471 password_form_map.insert(std::make_pair(
456 test_local_form().username_value, 472 test_local_form().username_value,
457 base::WrapUnique(new autofill::PasswordForm(test_local_form())))); 473 base::WrapUnique(new autofill::PasswordForm(test_local_form()))));
458 autofill::PasswordForm psl_matched_test_form = test_local_form(); 474 autofill::PasswordForm psl_matched_test_form = test_local_form();
459 psl_matched_test_form.is_public_suffix_match = true; 475 psl_matched_test_form.is_public_suffix_match = true;
460 password_form_map.insert(std::make_pair( 476 password_form_map.insert(std::make_pair(
461 psl_matched_test_form.username_value, 477 psl_matched_test_form.username_value,
462 base::WrapUnique(new autofill::PasswordForm(psl_matched_test_form)))); 478 base::WrapUnique(new autofill::PasswordForm(psl_matched_test_form))));
463 GURL origin("https://example.com"); 479 GURL origin("https://example.com");
464 passwords_data().OnPasswordAutofilled(password_form_map, origin, nullptr); 480 passwords_data().OnPasswordAutofilled(password_form_map, origin, nullptr);
465 481
466 EXPECT_THAT(passwords_data().GetCurrentForms(), 482 EXPECT_THAT(passwords_data().GetCurrentForms(),
467 ElementsAre(Pointee(test_local_form()))); 483 ElementsAre(Pointee(test_local_form())));
468 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 484 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
469 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); 485 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state());
470 EXPECT_EQ(origin, passwords_data().origin()); 486 EXPECT_EQ(origin, passwords_data().origin());
471 487
472 // |passwords_data| should hold a separate copy of test_local_form().
473 EXPECT_THAT(passwords_data().GetCurrentForms(),
474 Not(Contains(&test_local_form())));
475 TestAllUpdates(); 488 TestAllUpdates();
476 } 489 }
477 490
478 TEST_F(ManagePasswordsStateTest, InactiveOnPSLMatched) { 491 TEST_F(ManagePasswordsStateTest, InactiveOnPSLMatched) {
479 autofill::PasswordForm psl_matched_test_form = test_local_form(); 492 autofill::PasswordForm psl_matched_test_form = test_local_form();
480 psl_matched_test_form.is_public_suffix_match = true; 493 psl_matched_test_form.is_public_suffix_match = true;
481 autofill::PasswordFormMap password_form_map; 494 autofill::PasswordFormMap password_form_map;
482 password_form_map.insert(std::make_pair( 495 password_form_map.insert(std::make_pair(
483 psl_matched_test_form.username_value, 496 psl_matched_test_form.username_value,
484 base::WrapUnique(new autofill::PasswordForm(psl_matched_test_form)))); 497 base::WrapUnique(new autofill::PasswordForm(psl_matched_test_form))));
485 passwords_data().OnPasswordAutofilled( 498 passwords_data().OnPasswordAutofilled(
486 password_form_map, GURL("https://m.example.com/"), nullptr); 499 password_form_map, GURL("https://m.example.com/"), nullptr);
487 500
488 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty()); 501 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty());
489 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 502 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
490 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state()); 503 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state());
491 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin()); 504 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin());
492 EXPECT_FALSE(passwords_data().form_manager()); 505 EXPECT_FALSE(passwords_data().form_manager());
493 } 506 }
494 507
495 TEST_F(ManagePasswordsStateTest, OnInactive) { 508 TEST_F(ManagePasswordsStateTest, OnInactive) {
496 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( 509 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
497 CreateFormManager()); 510 CreateFormManager());
498 test_form_manager->ProvisionallySave( 511 test_form_manager->ProvisionallySave(
499 test_submitted_form(), 512 test_submitted_form(),
500 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 513 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
501 passwords_data().OnPendingPassword(std::move(test_form_manager)); 514 passwords_data().OnPendingPassword(std::move(test_form_manager));
502 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, 515 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
503 passwords_data().state()); 516 passwords_data().state());
504 passwords_data().OnInactive(); 517 passwords_data().OnInactive();
505 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty()); 518 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty());
506 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 519 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
507 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state()); 520 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state());
508 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin()); 521 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin());
509 EXPECT_FALSE(passwords_data().form_manager()); 522 EXPECT_FALSE(passwords_data().form_manager());
510 TestNoisyUpdates(); 523 TestNoisyUpdates();
511 } 524 }
512 525
513 TEST_F(ManagePasswordsStateTest, PendingPasswordAddBlacklisted) { 526 TEST_F(ManagePasswordsStateTest, PendingPasswordAddBlacklisted) {
514 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( 527 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
515 CreateFormManager()); 528 CreateFormManager());
516 test_form_manager->ProvisionallySave( 529 test_form_manager->ProvisionallySave(
517 test_submitted_form(), 530 test_submitted_form(),
518 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 531 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
519 passwords_data().OnPendingPassword(std::move(test_form_manager)); 532 passwords_data().OnPendingPassword(std::move(test_form_manager));
520 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, 533 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
521 passwords_data().state()); 534 passwords_data().state());
522 535
523 TestBlacklistedUpdates(); 536 TestBlacklistedUpdates();
524 } 537 }
525 538
526 TEST_F(ManagePasswordsStateTest, RequestCredentialsAddBlacklisted) { 539 TEST_F(ManagePasswordsStateTest, RequestCredentialsAddBlacklisted) {
527 ScopedVector<autofill::PasswordForm> local_credentials; 540 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials;
528 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 541 local_credentials.emplace_back(new autofill::PasswordForm(test_local_form()));
529 ScopedVector<autofill::PasswordForm> federated_credentials; 542 std::vector<std::unique_ptr<autofill::PasswordForm>> federated_credentials;
530 federated_credentials.push_back( 543 federated_credentials.emplace_back(
531 new autofill::PasswordForm(test_federated_form())); 544 new autofill::PasswordForm(test_federated_form()));
532 const GURL origin = test_local_form().origin; 545 const GURL origin = test_local_form().origin;
533 passwords_data().OnRequestCredentials( 546 passwords_data().OnRequestCredentials(
534 std::move(local_credentials), std::move(federated_credentials), origin); 547 std::move(local_credentials), std::move(federated_credentials), origin);
535 passwords_data().set_credentials_callback(base::Bind( 548 passwords_data().set_credentials_callback(base::Bind(
536 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this))); 549 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this)));
537 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, 550 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE,
538 passwords_data().state()); 551 passwords_data().state());
539 552
540 TestBlacklistedUpdates(); 553 TestBlacklistedUpdates();
541 } 554 }
542 555
543 TEST_F(ManagePasswordsStateTest, AutoSigninAddBlacklisted) { 556 TEST_F(ManagePasswordsStateTest, AutoSigninAddBlacklisted) {
544 ScopedVector<autofill::PasswordForm> local_credentials; 557 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials;
545 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 558 local_credentials.emplace_back(new autofill::PasswordForm(test_local_form()));
546 passwords_data().OnAutoSignin(std::move(local_credentials), 559 passwords_data().OnAutoSignin(std::move(local_credentials),
547 test_local_form().origin); 560 test_local_form().origin);
548 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, passwords_data().state()); 561 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, passwords_data().state());
549 562
550 TestBlacklistedUpdates(); 563 TestBlacklistedUpdates();
551 } 564 }
552 565
553 TEST_F(ManagePasswordsStateTest, AutomaticPasswordSaveAddBlacklisted) { 566 TEST_F(ManagePasswordsStateTest, AutomaticPasswordSaveAddBlacklisted) {
554 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( 567 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
555 CreateFormManager()); 568 CreateFormManager());
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 test_stored_forms().push_back(new autofill::PasswordForm(test_local_form())); 604 test_stored_forms().push_back(new autofill::PasswordForm(test_local_form()));
592 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( 605 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
593 CreateFormManager()); 606 CreateFormManager());
594 test_form_manager->ProvisionallySave( 607 test_form_manager->ProvisionallySave(
595 test_submitted_form(), 608 test_submitted_form(),
596 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 609 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
597 passwords_data().OnUpdatePassword(std::move(test_form_manager)); 610 passwords_data().OnUpdatePassword(std::move(test_form_manager));
598 611
599 EXPECT_THAT(passwords_data().GetCurrentForms(), 612 EXPECT_THAT(passwords_data().GetCurrentForms(),
600 ElementsAre(Pointee(test_local_form()))); 613 ElementsAre(Pointee(test_local_form())));
601 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 614 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
602 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, 615 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE,
603 passwords_data().state()); 616 passwords_data().state());
604 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); 617 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin());
605 ASSERT_TRUE(passwords_data().form_manager()); 618 ASSERT_TRUE(passwords_data().form_manager());
606 EXPECT_EQ(test_submitted_form(), 619 EXPECT_EQ(test_submitted_form(),
607 passwords_data().form_manager()->pending_credentials()); 620 passwords_data().form_manager()->pending_credentials());
608 TestAllUpdates(); 621 TestAllUpdates();
609 } 622 }
610 623
611 TEST_F(ManagePasswordsStateTest, AndroidPasswordUpdateSubmitted) { 624 TEST_F(ManagePasswordsStateTest, AndroidPasswordUpdateSubmitted) {
612 autofill::PasswordForm android_form; 625 autofill::PasswordForm android_form;
613 android_form.signon_realm = "android://dHJhc2g=@com.example.android/"; 626 android_form.signon_realm = "android://dHJhc2g=@com.example.android/";
614 android_form.origin = GURL(android_form.signon_realm); 627 android_form.origin = GURL(android_form.signon_realm);
615 android_form.username_value = test_submitted_form().username_value; 628 android_form.username_value = test_submitted_form().username_value;
616 android_form.password_value = base::ASCIIToUTF16("old pass"); 629 android_form.password_value = base::ASCIIToUTF16("old pass");
617 test_stored_forms().push_back(new autofill::PasswordForm(android_form)); 630 test_stored_forms().push_back(new autofill::PasswordForm(android_form));
618 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( 631 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
619 CreateFormManager()); 632 CreateFormManager());
620 test_form_manager->ProvisionallySave( 633 test_form_manager->ProvisionallySave(
621 test_submitted_form(), 634 test_submitted_form(),
622 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 635 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
623 passwords_data().OnUpdatePassword(std::move(test_form_manager)); 636 passwords_data().OnUpdatePassword(std::move(test_form_manager));
624 637
625 EXPECT_THAT(passwords_data().GetCurrentForms(), 638 EXPECT_THAT(passwords_data().GetCurrentForms(),
626 ElementsAre(Pointee(android_form))); 639 ElementsAre(Pointee(android_form)));
627 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 640 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
628 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, 641 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE,
629 passwords_data().state()); 642 passwords_data().state());
630 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); 643 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin());
631 ASSERT_TRUE(passwords_data().form_manager()); 644 ASSERT_TRUE(passwords_data().form_manager());
632 android_form.password_value = test_submitted_form().password_value; 645 android_form.password_value = test_submitted_form().password_value;
633 EXPECT_EQ(android_form, 646 EXPECT_EQ(android_form,
634 passwords_data().form_manager()->pending_credentials()); 647 passwords_data().form_manager()->pending_credentials());
635 TestAllUpdates(); 648 TestAllUpdates();
636 } 649 }
637 650
638 TEST_F(ManagePasswordsStateTest, PasswordUpdateSubmittedWithFederations) { 651 TEST_F(ManagePasswordsStateTest, PasswordUpdateSubmittedWithFederations) {
639 test_stored_forms().push_back(new autofill::PasswordForm(test_local_form())); 652 test_stored_forms().push_back(new autofill::PasswordForm(test_local_form()));
640 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( 653 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
641 CreateFormManagerWithFederation()); 654 CreateFormManagerWithFederation());
642 test_form_manager->ProvisionallySave( 655 test_form_manager->ProvisionallySave(
643 test_submitted_form(), 656 test_submitted_form(),
644 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 657 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
645 passwords_data().OnUpdatePassword(std::move(test_form_manager)); 658 passwords_data().OnUpdatePassword(std::move(test_form_manager));
646 659
647 EXPECT_THAT(passwords_data().GetCurrentForms(), 660 EXPECT_THAT(passwords_data().GetCurrentForms(),
648 UnorderedElementsAre(Pointee(test_local_form()), 661 UnorderedElementsAre(Pointee(test_local_form()),
649 Pointee(test_local_federated_form()))); 662 Pointee(test_local_federated_form())));
650 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); 663 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty());
651 } 664 }
652 665
653 TEST_F(ManagePasswordsStateTest, ChooseCredentialLocal) { 666 TEST_F(ManagePasswordsStateTest, ChooseCredentialLocal) {
654 passwords_data().OnRequestCredentials(ScopedVector<autofill::PasswordForm>(), 667 passwords_data().OnRequestCredentials(
655 ScopedVector<autofill::PasswordForm>(), 668 std::vector<std::unique_ptr<autofill::PasswordForm>>(),
656 test_local_form().origin); 669 std::vector<std::unique_ptr<autofill::PasswordForm>>(),
670 test_local_form().origin);
657 passwords_data().set_credentials_callback(base::Bind( 671 passwords_data().set_credentials_callback(base::Bind(
658 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this))); 672 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this)));
659 EXPECT_CALL(*this, CredentialCallback(&test_local_form())); 673 EXPECT_CALL(*this, CredentialCallback(&test_local_form()));
660 passwords_data().ChooseCredential(&test_local_form()); 674 passwords_data().ChooseCredential(&test_local_form());
661 } 675 }
662 676
663 TEST_F(ManagePasswordsStateTest, ChooseCredentialEmpty) { 677 TEST_F(ManagePasswordsStateTest, ChooseCredentialEmpty) {
664 passwords_data().OnRequestCredentials(ScopedVector<autofill::PasswordForm>(), 678 passwords_data().OnRequestCredentials(
665 ScopedVector<autofill::PasswordForm>(), 679 std::vector<std::unique_ptr<autofill::PasswordForm>>(),
666 test_local_form().origin); 680 std::vector<std::unique_ptr<autofill::PasswordForm>>(),
681 test_local_form().origin);
667 passwords_data().set_credentials_callback(base::Bind( 682 passwords_data().set_credentials_callback(base::Bind(
668 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this))); 683 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this)));
669 password_manager::CredentialInfo credential_info( 684 password_manager::CredentialInfo credential_info(
670 test_federated_form(), 685 test_federated_form(),
671 password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY); 686 password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY);
672 EXPECT_CALL(*this, CredentialCallback(nullptr)); 687 EXPECT_CALL(*this, CredentialCallback(nullptr));
673 passwords_data().ChooseCredential(nullptr); 688 passwords_data().ChooseCredential(nullptr);
674 } 689 }
675 690
676 TEST_F(ManagePasswordsStateTest, ChooseCredentialLocalWithNonEmptyFederation) { 691 TEST_F(ManagePasswordsStateTest, ChooseCredentialLocalWithNonEmptyFederation) {
677 passwords_data().OnRequestCredentials(ScopedVector<autofill::PasswordForm>(), 692 passwords_data().OnRequestCredentials(
678 ScopedVector<autofill::PasswordForm>(), 693 std::vector<std::unique_ptr<autofill::PasswordForm>>(),
679 test_local_form().origin); 694 std::vector<std::unique_ptr<autofill::PasswordForm>>(),
695 test_local_form().origin);
680 passwords_data().set_credentials_callback(base::Bind( 696 passwords_data().set_credentials_callback(base::Bind(
681 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this))); 697 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this)));
682 EXPECT_CALL(*this, CredentialCallback(&test_local_federated_form())); 698 EXPECT_CALL(*this, CredentialCallback(&test_local_federated_form()));
683 passwords_data().ChooseCredential(&test_local_federated_form()); 699 passwords_data().ChooseCredential(&test_local_federated_form());
684 } 700 }
685 701
686 } // namespace 702 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/ui/passwords/manage_passwords_state.cc ('k') | chrome/browser/ui/passwords/manage_passwords_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698