test_helpers.cc 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. // Copyright (c) 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "components/password_manager/ios/test_helpers.h"
  5. #include "base/strings/utf_string_conversions.h"
  6. #include "components/autofill/core/common/form_data.h"
  7. #include "components/autofill/core/common/password_form_fill_data.h"
  8. #include "components/password_manager/ios/account_select_fill_data.h"
  9. #include "url/gurl.h"
  10. using autofill::FieldRendererId;
  11. using autofill::FormData;
  12. using autofill::FormFieldData;
  13. using autofill::FormRendererId;
  14. using autofill::PasswordFormFillData;
  15. using password_manager::FillData;
  16. namespace test_helpers {
  17. void SetPasswordFormFillData(const std::string& url,
  18. const char* form_name,
  19. uint32_t unique_renderer_id,
  20. const char* username_field,
  21. uint32_t username_unique_id,
  22. const char* username_value,
  23. const char* password_field,
  24. uint32_t password_unique_id,
  25. const char* password_value,
  26. const char* additional_username,
  27. const char* additional_password,
  28. bool wait_for_username,
  29. PasswordFormFillData* form_data) {
  30. form_data->url = GURL(url);
  31. form_data->name = base::UTF8ToUTF16(form_name);
  32. form_data->form_renderer_id = FormRendererId(unique_renderer_id);
  33. autofill::FormFieldData username;
  34. username.name = base::UTF8ToUTF16(username_field);
  35. username.unique_renderer_id = FieldRendererId(username_unique_id);
  36. username.value = base::UTF8ToUTF16(username_value);
  37. form_data->username_field = username;
  38. autofill::FormFieldData password;
  39. password.name = base::UTF8ToUTF16(password_field);
  40. password.unique_renderer_id = FieldRendererId(password_unique_id);
  41. password.value = base::UTF8ToUTF16(password_value);
  42. form_data->password_field = password;
  43. if (additional_username) {
  44. autofill::PasswordAndMetadata additional_password_data;
  45. additional_password_data.username = base::UTF8ToUTF16(additional_username);
  46. additional_password_data.password = base::UTF8ToUTF16(additional_password);
  47. additional_password_data.realm.clear();
  48. form_data->additional_logins.push_back(additional_password_data);
  49. }
  50. form_data->wait_for_username = wait_for_username;
  51. }
  52. void SetFillData(const std::string& origin,
  53. uint32_t form_id,
  54. uint32_t username_field_id,
  55. const char* username_value,
  56. uint32_t password_field_id,
  57. const char* password_value,
  58. FillData* fill_data) {
  59. DCHECK(fill_data);
  60. fill_data->origin = GURL(origin);
  61. fill_data->form_id = FormRendererId(form_id);
  62. fill_data->username_element_id = FieldRendererId(username_field_id);
  63. fill_data->username_value = base::UTF8ToUTF16(username_value);
  64. fill_data->password_element_id = FieldRendererId(password_field_id);
  65. fill_data->password_value = base::UTF8ToUTF16(password_value);
  66. }
  67. void SetFormData(const std::string& origin,
  68. uint32_t form_id,
  69. uint32_t username_field_id,
  70. const char* username_value,
  71. uint32_t password_field_id,
  72. const char* password_value,
  73. FormData* form_data) {
  74. DCHECK(form_data);
  75. form_data->url = GURL(origin);
  76. form_data->unique_renderer_id = FormRendererId(form_id);
  77. FormFieldData field;
  78. field.value = base::UTF8ToUTF16(username_value);
  79. field.form_control_type = "text";
  80. field.unique_renderer_id = FieldRendererId(username_field_id);
  81. form_data->fields.push_back(field);
  82. field.value = base::UTF8ToUTF16(password_value);
  83. field.form_control_type = "password";
  84. field.unique_renderer_id = FieldRendererId(password_field_id);
  85. form_data->fields.push_back(field);
  86. }
  87. autofill::FormData MakeSimpleFormData() {
  88. autofill::FormData form_data;
  89. form_data.url = GURL("http://www.google.com/a/LoginAuth");
  90. form_data.action = GURL("http://www.google.com/a/Login");
  91. form_data.name = u"login_form";
  92. autofill::FormFieldData field;
  93. field.name = u"Username";
  94. field.id_attribute = field.name;
  95. field.name_attribute = field.name;
  96. field.value = u"googleuser";
  97. field.form_control_type = "text";
  98. form_data.fields.push_back(field);
  99. field.name = u"Passwd";
  100. field.id_attribute = field.name;
  101. field.name_attribute = field.name;
  102. field.value = u"p4ssword";
  103. field.form_control_type = "password";
  104. form_data.fields.push_back(field);
  105. return form_data;
  106. }
  107. } // namespace test_helpers