OLD | NEW |
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 Loading... |
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 } |
OLD | NEW |