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

Side by Side Diff: components/password_manager/core/browser/password_manager_unittest.cc

Issue 1488763003: [Password Manager] Switch password manager code to use "base/feature_list.h". (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addresses nit. Created 5 years 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 | « components/password_manager.gypi ('k') | components/password_manager/core/common/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "components/password_manager/core/browser/password_manager.h" 5 #include "components/password_manager/core/browser/password_manager.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
11 #include "base/message_loop/message_loop.h" 11 #include "base/message_loop/message_loop.h"
12 #include "base/strings/string_util.h" 12 #include "base/strings/string_util.h"
13 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
14 #include "components/password_manager/core/browser/mock_password_store.h" 14 #include "components/password_manager/core/browser/mock_password_store.h"
15 #include "components/password_manager/core/browser/password_autofill_manager.h" 15 #include "components/password_manager/core/browser/password_autofill_manager.h"
16 #include "components/password_manager/core/browser/password_manager_driver.h" 16 #include "components/password_manager/core/browser/password_manager_driver.h"
17 #include "components/password_manager/core/browser/password_store.h" 17 #include "components/password_manager/core/browser/password_store.h"
18 #include "components/password_manager/core/browser/statistics_table.h" 18 #include "components/password_manager/core/browser/statistics_table.h"
19 #include "components/password_manager/core/browser/stub_password_manager_client. h" 19 #include "components/password_manager/core/browser/stub_password_manager_client. h"
20 #include "components/password_manager/core/browser/stub_password_manager_driver. h" 20 #include "components/password_manager/core/browser/stub_password_manager_driver. h"
21 #include "components/password_manager/core/common/password_manager_features.h"
21 #include "components/password_manager/core/common/password_manager_pref_names.h" 22 #include "components/password_manager/core/common/password_manager_pref_names.h"
22 #include "components/password_manager/core/common/password_manager_switches.h" 23 #include "components/password_manager/core/common/password_manager_switches.h"
23 #include "testing/gmock/include/gmock/gmock.h" 24 #include "testing/gmock/include/gmock/gmock.h"
24 #include "testing/gtest/include/gtest/gtest.h" 25 #include "testing/gtest/include/gtest/gtest.h"
25 26
26 using autofill::PasswordForm; 27 using autofill::PasswordForm;
27 using base::ASCIIToUTF16; 28 using base::ASCIIToUTF16;
28 using testing::_; 29 using testing::_;
29 using testing::AnyNumber; 30 using testing::AnyNumber;
30 using testing::Return; 31 using testing::Return;
(...skipping 1176 matching lines...) Expand 10 before | Expand all | Expand 10 after
1207 observed.clear(); 1208 observed.clear();
1208 manager()->OnPasswordFormsParsed(&driver_, observed); 1209 manager()->OnPasswordFormsParsed(&driver_, observed);
1209 manager()->OnPasswordFormsRendered(&driver_, observed, true); 1210 manager()->OnPasswordFormsRendered(&driver_, observed, true);
1210 EXPECT_EQ(form.username_value, form_to_save.username_value); 1211 EXPECT_EQ(form.username_value, form_to_save.username_value);
1211 // What was "new password" field in the submitted form, becomes the current 1212 // What was "new password" field in the submitted form, becomes the current
1212 // password field in the form to save. 1213 // password field in the form to save.
1213 EXPECT_EQ(form.new_password_value, form_to_save.password_value); 1214 EXPECT_EQ(form.new_password_value, form_to_save.password_value);
1214 } 1215 }
1215 1216
1216 TEST_F(PasswordManagerTest, ForceSavingPasswords) { 1217 TEST_F(PasswordManagerTest, ForceSavingPasswords) {
1217 base::CommandLine::ForCurrentProcess()->AppendSwitch( 1218 // Add the enable-password-force-saving feature.
1218 switches::kEnablePasswordForceSaving); 1219 base::FeatureList::ClearInstanceForTesting();
1220 scoped_ptr<base::FeatureList> feature_list(new base::FeatureList);
1221 feature_list->InitializeFromCommandLine(
1222 password_manager::features::kEnablePasswordForceSaving.name, "");
1223 base::FeatureList::SetInstance(std::move(feature_list));
1219 PasswordForm form(MakeSimpleForm()); 1224 PasswordForm form(MakeSimpleForm());
1220 1225
1221 std::vector<PasswordForm> observed; 1226 std::vector<PasswordForm> observed;
1222 observed.push_back(form); 1227 observed.push_back(form);
1223 EXPECT_CALL(*store_, GetLogins(_, _, _)) 1228 EXPECT_CALL(*store_, GetLogins(_, _, _))
1224 .WillRepeatedly(WithArg<2>(InvokeEmptyConsumerWithForms())); 1229 .WillRepeatedly(WithArg<2>(InvokeEmptyConsumerWithForms()));
1225 manager()->OnPasswordFormsParsed(&driver_, observed); 1230 manager()->OnPasswordFormsParsed(&driver_, observed);
1226 manager()->OnPasswordFormsRendered(&driver_, observed, true); 1231 manager()->OnPasswordFormsRendered(&driver_, observed, true);
1227 1232
1228 scoped_ptr<PasswordFormManager> form_manager_to_save; 1233 scoped_ptr<PasswordFormManager> form_manager_to_save;
1229 EXPECT_CALL(client_, IsSavingAndFillingEnabledForCurrentPage()) 1234 EXPECT_CALL(client_, IsSavingAndFillingEnabledForCurrentPage())
1230 .WillRepeatedly(Return(true)); 1235 .WillRepeatedly(Return(true));
1231 EXPECT_CALL(client_, 1236 EXPECT_CALL(client_,
1232 PromptUserToSaveOrUpdatePasswordPtr( 1237 PromptUserToSaveOrUpdatePasswordPtr(
1233 _, CredentialSourceType::CREDENTIAL_SOURCE_PASSWORD_MANAGER)) 1238 _, CredentialSourceType::CREDENTIAL_SOURCE_PASSWORD_MANAGER))
1234 .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save))); 1239 .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
1235 manager()->OnPasswordFormForceSaveRequested(&driver_, form); 1240 manager()->OnPasswordFormForceSaveRequested(&driver_, form);
1236 ASSERT_TRUE(form_manager_to_save); 1241 ASSERT_TRUE(form_manager_to_save);
1237 EXPECT_EQ(form.password_value, 1242 EXPECT_EQ(form.password_value,
1238 PasswordFormManager::PasswordToSave( 1243 PasswordFormManager::PasswordToSave(
1239 form_manager_to_save->pending_credentials())); 1244 form_manager_to_save->pending_credentials()));
1240 } 1245 }
1241 1246
1242 // Forcing Chrome to save an empty passwords should fail without a crash. 1247 // Forcing Chrome to save an empty passwords should fail without a crash.
1243 TEST_F(PasswordManagerTest, ForceSavingPasswords_Empty) { 1248 TEST_F(PasswordManagerTest, ForceSavingPasswords_Empty) {
1244 base::CommandLine::ForCurrentProcess()->AppendSwitch( 1249 // Add the enable-password-force-saving feature.
1245 switches::kEnablePasswordForceSaving); 1250 base::FeatureList::ClearInstanceForTesting();
1251 scoped_ptr<base::FeatureList> feature_list(new base::FeatureList);
1252 feature_list->InitializeFromCommandLine(
1253 password_manager::features::kEnablePasswordForceSaving.name, "");
1254 base::FeatureList::SetInstance(std::move(feature_list));
1246 PasswordForm empty_password_form; 1255 PasswordForm empty_password_form;
1247 1256
1248 std::vector<PasswordForm> observed; 1257 std::vector<PasswordForm> observed;
1249 observed.push_back(empty_password_form); 1258 observed.push_back(empty_password_form);
1250 EXPECT_CALL(*store_, GetLogins(_, _, _)) 1259 EXPECT_CALL(*store_, GetLogins(_, _, _))
1251 .WillRepeatedly(WithArg<2>(InvokeEmptyConsumerWithForms())); 1260 .WillRepeatedly(WithArg<2>(InvokeEmptyConsumerWithForms()));
1252 manager()->OnPasswordFormsParsed(&driver_, observed); 1261 manager()->OnPasswordFormsParsed(&driver_, observed);
1253 manager()->OnPasswordFormsRendered(&driver_, observed, true); 1262 manager()->OnPasswordFormsRendered(&driver_, observed, true);
1254 1263
1255 EXPECT_CALL(client_, IsSavingAndFillingEnabledForCurrentPage()) 1264 EXPECT_CALL(client_, IsSavingAndFillingEnabledForCurrentPage())
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1298 observed.clear(); 1307 observed.clear();
1299 manager()->OnPasswordFormsRendered(&driver_, observed, true); 1308 manager()->OnPasswordFormsRendered(&driver_, observed, true);
1300 1309
1301 EXPECT_EQ(android_form.username_value, form_data.username_field.value); 1310 EXPECT_EQ(android_form.username_value, form_data.username_field.value);
1302 EXPECT_EQ(android_form.password_value, form_data.password_field.value); 1311 EXPECT_EQ(android_form.password_value, form_data.password_field.value);
1303 EXPECT_FALSE(form_data.wait_for_username); 1312 EXPECT_FALSE(form_data.wait_for_username);
1304 EXPECT_EQ(android_form.signon_realm, form_data.preferred_realm); 1313 EXPECT_EQ(android_form.signon_realm, form_data.preferred_realm);
1305 } 1314 }
1306 1315
1307 } // namespace password_manager 1316 } // namespace password_manager
OLDNEW
« no previous file with comments | « components/password_manager.gypi ('k') | components/password_manager/core/common/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698