| OLD | NEW |
| 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 <stdarg.h> | 5 #include <stdarg.h> |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
| 9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
| 10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 form_google_.submit_element = UTF8ToUTF16("submit"); | 274 form_google_.submit_element = UTF8ToUTF16("submit"); |
| 275 form_google_.signon_realm = "http://www.google.com/"; | 275 form_google_.signon_realm = "http://www.google.com/"; |
| 276 form_google_.type = PasswordForm::TYPE_GENERATED; | 276 form_google_.type = PasswordForm::TYPE_GENERATED; |
| 277 form_google_.date_created = base::Time::Now(); | 277 form_google_.date_created = base::Time::Now(); |
| 278 form_google_.date_synced = base::Time::Now(); | 278 form_google_.date_synced = base::Time::Now(); |
| 279 form_google_.display_name = UTF8ToUTF16("Joe Schmoe"); | 279 form_google_.display_name = UTF8ToUTF16("Joe Schmoe"); |
| 280 form_google_.avatar_url = GURL("http://www.google.com/avatar"); | 280 form_google_.avatar_url = GURL("http://www.google.com/avatar"); |
| 281 form_google_.federation_url = GURL("http://www.google.com/federation_url"); | 281 form_google_.federation_url = GURL("http://www.google.com/federation_url"); |
| 282 form_google_.skip_zero_click = true; | 282 form_google_.skip_zero_click = true; |
| 283 form_google_.generation_upload_status = PasswordForm::POSITIVE_SIGNAL_SENT; | 283 form_google_.generation_upload_status = PasswordForm::POSITIVE_SIGNAL_SENT; |
| 284 form_google_.form_data.name = UTF8ToUTF16("form_name"); |
| 285 form_google_.form_data.user_submitted = true; |
| 284 | 286 |
| 285 form_facebook_.origin = GURL("http://www.facebook.com/"); | 287 form_facebook_.origin = GURL("http://www.facebook.com/"); |
| 286 form_facebook_.action = GURL("http://www.facebook.com/login"); | 288 form_facebook_.action = GURL("http://www.facebook.com/login"); |
| 287 form_facebook_.username_element = UTF8ToUTF16("user"); | 289 form_facebook_.username_element = UTF8ToUTF16("user"); |
| 288 form_facebook_.username_value = UTF8ToUTF16("a"); | 290 form_facebook_.username_value = UTF8ToUTF16("a"); |
| 289 form_facebook_.password_element = UTF8ToUTF16("password"); | 291 form_facebook_.password_element = UTF8ToUTF16("password"); |
| 290 form_facebook_.password_value = UTF8ToUTF16("b"); | 292 form_facebook_.password_value = UTF8ToUTF16("b"); |
| 291 form_facebook_.submit_element = UTF8ToUTF16("submit"); | 293 form_facebook_.submit_element = UTF8ToUTF16("submit"); |
| 292 form_facebook_.signon_realm = "http://www.facebook.com/"; | 294 form_facebook_.signon_realm = "http://www.facebook.com/"; |
| 293 form_facebook_.date_created = base::Time::Now(); | 295 form_facebook_.date_created = base::Time::Now(); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 349 EXPECT_TRUE(item_value) << " in attribute " << attribute; | 351 EXPECT_TRUE(item_value) << " in attribute " << attribute; |
| 350 if (item_value) { | 352 if (item_value) { |
| 351 EXPECT_EQ(value, static_cast<char*>(item_value)); | 353 EXPECT_EQ(value, static_cast<char*>(item_value)); |
| 352 } | 354 } |
| 353 } | 355 } |
| 354 | 356 |
| 355 void CheckMockSecretItem(const MockSecretItem* item, | 357 void CheckMockSecretItem(const MockSecretItem* item, |
| 356 const PasswordForm& form, | 358 const PasswordForm& form, |
| 357 const std::string& app_string) { | 359 const std::string& app_string) { |
| 358 EXPECT_EQ(UTF16ToUTF8(form.password_value), item->value->password); | 360 EXPECT_EQ(UTF16ToUTF8(form.password_value), item->value->password); |
| 359 EXPECT_EQ(21u, g_hash_table_size(item->attributes)); | 361 EXPECT_EQ(22u, g_hash_table_size(item->attributes)); |
| 360 CheckStringAttribute(item, "origin_url", form.origin.spec()); | 362 CheckStringAttribute(item, "origin_url", form.origin.spec()); |
| 361 CheckStringAttribute(item, "action_url", form.action.spec()); | 363 CheckStringAttribute(item, "action_url", form.action.spec()); |
| 362 CheckStringAttribute(item, "username_element", | 364 CheckStringAttribute(item, "username_element", |
| 363 UTF16ToUTF8(form.username_element)); | 365 UTF16ToUTF8(form.username_element)); |
| 364 CheckStringAttribute(item, "username_value", | 366 CheckStringAttribute(item, "username_value", |
| 365 UTF16ToUTF8(form.username_value)); | 367 UTF16ToUTF8(form.username_value)); |
| 366 CheckStringAttribute(item, "password_element", | 368 CheckStringAttribute(item, "password_element", |
| 367 UTF16ToUTF8(form.password_element)); | 369 UTF16ToUTF8(form.password_element)); |
| 368 CheckStringAttribute(item, "submit_element", | 370 CheckStringAttribute(item, "submit_element", |
| 369 UTF16ToUTF8(form.submit_element)); | 371 UTF16ToUTF8(form.submit_element)); |
| 370 CheckStringAttribute(item, "signon_realm", form.signon_realm); | 372 CheckStringAttribute(item, "signon_realm", form.signon_realm); |
| 371 CheckUint32Attribute(item, "ssl_valid", form.ssl_valid); | 373 CheckUint32Attribute(item, "ssl_valid", form.ssl_valid); |
| 372 CheckUint32Attribute(item, "preferred", form.preferred); | 374 CheckUint32Attribute(item, "preferred", form.preferred); |
| 373 // We don't check the date created. It varies. | 375 // We don't check the date created. It varies. |
| 374 CheckUint32Attribute(item, "blacklisted_by_user", form.blacklisted_by_user); | 376 CheckUint32Attribute(item, "blacklisted_by_user", form.blacklisted_by_user); |
| 375 CheckUint32Attribute(item, "type", form.type); | 377 CheckUint32Attribute(item, "type", form.type); |
| 376 CheckUint32Attribute(item, "times_used", form.times_used); | 378 CheckUint32Attribute(item, "times_used", form.times_used); |
| 377 CheckUint32Attribute(item, "scheme", form.scheme); | 379 CheckUint32Attribute(item, "scheme", form.scheme); |
| 378 CheckStringAttribute( | 380 CheckStringAttribute( |
| 379 item, "date_synced", | 381 item, "date_synced", |
| 380 base::Int64ToString(form.date_synced.ToInternalValue())); | 382 base::Int64ToString(form.date_synced.ToInternalValue())); |
| 381 CheckStringAttribute(item, "display_name", UTF16ToUTF8(form.display_name)); | 383 CheckStringAttribute(item, "display_name", UTF16ToUTF8(form.display_name)); |
| 382 CheckStringAttribute(item, "avatar_url", form.avatar_url.spec()); | 384 CheckStringAttribute(item, "avatar_url", form.avatar_url.spec()); |
| 383 CheckStringAttribute(item, "federation_url", form.federation_url.spec()); | 385 CheckStringAttribute(item, "federation_url", form.federation_url.spec()); |
| 384 CheckUint32Attribute(item, "skip_zero_click", form.skip_zero_click); | 386 CheckUint32Attribute(item, "skip_zero_click", form.skip_zero_click); |
| 385 CheckUint32Attribute(item, "generation_upload_status", | 387 CheckUint32Attribute(item, "generation_upload_status", |
| 386 form.generation_upload_status); | 388 form.generation_upload_status); |
| 387 CheckStringAttribute(item, "application", app_string); | 389 CheckStringAttribute(item, "application", app_string); |
| 390 autofill::FormData actual; |
| 391 DeserializeFormDataFromBase64String( |
| 392 static_cast<char*>(g_hash_table_lookup(item->attributes, "form_data")), |
| 393 &actual); |
| 394 EXPECT_TRUE(form.form_data.SameFormAs(actual)); |
| 388 } | 395 } |
| 389 | 396 |
| 390 // Saves |credentials| and then gets logins matching |url| and |scheme|. | 397 // Saves |credentials| and then gets logins matching |url| and |scheme|. |
| 391 // Returns true when something is found, and in such case copies the result to | 398 // Returns true when something is found, and in such case copies the result to |
| 392 // |result| when |result| is not nullptr. (Note that there can be max. 1 | 399 // |result| when |result| is not nullptr. (Note that there can be max. 1 |
| 393 // result derived from |credentials|.) | 400 // result derived from |credentials|.) |
| 394 bool CheckCredentialAvailability(const PasswordForm& credentials, | 401 bool CheckCredentialAvailability(const PasswordForm& credentials, |
| 395 const GURL& url, | 402 const GURL& url, |
| 396 const PasswordForm::Scheme& scheme, | 403 const PasswordForm::Scheme& scheme, |
| 397 PasswordForm* result) { | 404 PasswordForm* result) { |
| (...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 854 | 861 |
| 855 ScopedVector<autofill::PasswordForm> form_list; | 862 ScopedVector<autofill::PasswordForm> form_list; |
| 856 backend.GetAutofillableLogins(&form_list); | 863 backend.GetAutofillableLogins(&form_list); |
| 857 | 864 |
| 858 EXPECT_EQ(1u, form_list.size()); | 865 EXPECT_EQ(1u, form_list.size()); |
| 859 EXPECT_EQ(GURL(""), form_list[0]->avatar_url); | 866 EXPECT_EQ(GURL(""), form_list[0]->avatar_url); |
| 860 EXPECT_FALSE(form_list[0]->ssl_valid); | 867 EXPECT_FALSE(form_list[0]->ssl_valid); |
| 861 } | 868 } |
| 862 | 869 |
| 863 // TODO(mdm): add more basic tests here at some point. | 870 // TODO(mdm): add more basic tests here at some point. |
| OLD | NEW |