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

Side by Side Diff: chrome/browser/password_manager/password_form_manager_unittest.cc

Issue 3419011: Save passwords for HTTP+FTP authentication.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/password_manager/password_form_manager.cc ('k') | 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 (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "testing/gtest/include/gtest/gtest.h" 5 #include "testing/gtest/include/gtest/gtest.h"
6 6
7 #include "base/string_util.h" 7 #include "base/string_util.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/password_manager/password_form_manager.h" 9 #include "chrome/browser/password_manager/password_form_manager.h"
10 #include "chrome/browser/password_manager/password_manager.h" 10 #include "chrome/browser/password_manager/password_manager.h"
11 #include "chrome/browser/profile_manager.h" 11 #include "chrome/browser/profile_manager.h"
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 EXPECT_FALSE(manager->IsNewLogin()); 193 EXPECT_FALSE(manager->IsNewLogin());
194 // We bless our saved PasswordForm entry with the action URL of the 194 // We bless our saved PasswordForm entry with the action URL of the
195 // observed form. 195 // observed form.
196 EXPECT_EQ(observed_form()->action, 196 EXPECT_EQ(observed_form()->action,
197 GetPendingCredentials(manager.get())->action); 197 GetPendingCredentials(manager.get())->action);
198 } 198 }
199 199
200 TEST_F(PasswordFormManagerTest, TestValidForms) { 200 TEST_F(PasswordFormManagerTest, TestValidForms) {
201 // User submits credentials for the observed form. 201 // User submits credentials for the observed form.
202 PasswordForm credentials = *observed_form(); 202 PasswordForm credentials = *observed_form();
203 credentials.scheme = PasswordForm::SCHEME_HTML;
203 credentials.username_value = saved_match()->username_value; 204 credentials.username_value = saved_match()->username_value;
204 credentials.password_value = saved_match()->password_value; 205 credentials.password_value = saved_match()->password_value;
205 credentials.preferred = true;
206 206
207 // Form with both username_element and password_element.
207 PasswordFormManager manager1(profile(), NULL, credentials, false); 208 PasswordFormManager manager1(profile(), NULL, credentials, false);
208 SimulateMatchingPhase(&manager1, false); 209 SimulateMatchingPhase(&manager1, false);
209 manager1.ProvisionallySave(credentials);
210
211 // Valid form.
212 EXPECT_TRUE(manager1.HasValidPasswordForm()); 210 EXPECT_TRUE(manager1.HasValidPasswordForm());
213 211
212 // Form without a username_element but with a password_element.
214 credentials.username_element.clear(); 213 credentials.username_element.clear();
215 PasswordFormManager manager2(profile(), NULL, credentials, false); 214 PasswordFormManager manager2(profile(), NULL, credentials, false);
216 SimulateMatchingPhase(&manager2, false); 215 SimulateMatchingPhase(&manager2, false);
217 manager2.ProvisionallySave(credentials);
218
219 // Invalid form - no username.
220 EXPECT_FALSE(manager2.HasValidPasswordForm()); 216 EXPECT_FALSE(manager2.HasValidPasswordForm());
221 217
218 // Form without a password_element but with a username_element.
222 credentials.username_element = saved_match()->username_element; 219 credentials.username_element = saved_match()->username_element;
223 credentials.password_element.clear(); 220 credentials.password_element.clear();
224 PasswordFormManager manager3(profile(), NULL, credentials, false); 221 PasswordFormManager manager3(profile(), NULL, credentials, false);
225 SimulateMatchingPhase(&manager3, false); 222 SimulateMatchingPhase(&manager3, false);
226 manager3.ProvisionallySave(credentials); 223 EXPECT_FALSE(manager3.HasValidPasswordForm());
227 224
228 // Invalid form - no password. 225 // Form with neither a password_element nor a username_element.
229 EXPECT_FALSE(manager3.HasValidPasswordForm()); 226 credentials.username_element.clear();
227 credentials.password_element.clear();
228 PasswordFormManager manager4(profile(), NULL, credentials, false);
229 SimulateMatchingPhase(&manager4, false);
230 EXPECT_FALSE(manager4.HasValidPasswordForm());
230 } 231 }
231 232
233 TEST_F(PasswordFormManagerTest, TestValidFormsBasic) {
234 // User submits credentials for the observed form.
235 PasswordForm credentials = *observed_form();
236 credentials.scheme = PasswordForm::SCHEME_BASIC;
237 credentials.username_value = saved_match()->username_value;
238 credentials.password_value = saved_match()->password_value;
239
240 // Form with both username_element and password_element.
241 PasswordFormManager manager1(profile(), NULL, credentials, false);
242 SimulateMatchingPhase(&manager1, false);
243 EXPECT_TRUE(manager1.HasValidPasswordForm());
244
245 // Form without a username_element but with a password_element.
246 credentials.username_element.clear();
247 PasswordFormManager manager2(profile(), NULL, credentials, false);
248 SimulateMatchingPhase(&manager2, false);
249 EXPECT_TRUE(manager2.HasValidPasswordForm());
250
251 // Form without a password_element but with a username_element.
252 credentials.username_element = saved_match()->username_element;
253 credentials.password_element.clear();
254 PasswordFormManager manager3(profile(), NULL, credentials, false);
255 SimulateMatchingPhase(&manager3, false);
256 EXPECT_TRUE(manager3.HasValidPasswordForm());
257
258 // Form with neither a password_element nor a username_element.
259 credentials.username_element.clear();
260 credentials.password_element.clear();
261 PasswordFormManager manager4(profile(), NULL, credentials, false);
262 SimulateMatchingPhase(&manager4, false);
263 EXPECT_TRUE(manager4.HasValidPasswordForm());
264 }
OLDNEW
« no previous file with comments | « chrome/browser/password_manager/password_form_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698