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 
5 #include "components/password_manager/ios/test_helpers.h"
6 
7 #include "base/strings/utf_string_conversions.h"
8 #include "components/autofill/core/common/password_form_fill_data.h"
9 #include "components/password_manager/ios/account_select_fill_data.h"
10 #include "url/gurl.h"
11 
12 using autofill::PasswordFormFillData;
13 using password_manager::FillData;
14 
15 namespace test_helpers {
16 
SetPasswordFormFillData(const std::string & origin,const char * form_name,const char * username_field,const char * username_value,const char * password_field,const char * password_value,const char * additional_username,const char * additional_password,bool wait_for_username,PasswordFormFillData * form_data)17 void SetPasswordFormFillData(const std::string& origin,
18                              const char* form_name,
19                              const char* username_field,
20                              const char* username_value,
21                              const char* password_field,
22                              const char* password_value,
23                              const char* additional_username,
24                              const char* additional_password,
25                              bool wait_for_username,
26                              PasswordFormFillData* form_data) {
27   form_data->origin = GURL(origin);
28   form_data->name = base::UTF8ToUTF16(form_name);
29   autofill::FormFieldData username;
30   username.name = base::UTF8ToUTF16(username_field);
31   username.unique_id = base::UTF8ToUTF16(username_field);
32   username.value = base::UTF8ToUTF16(username_value);
33   form_data->username_field = username;
34   autofill::FormFieldData password;
35   password.name = base::UTF8ToUTF16(password_field);
36   password.unique_id = base::UTF8ToUTF16(password_field);
37   password.value = base::UTF8ToUTF16(password_value);
38   form_data->password_field = password;
39   if (additional_username) {
40     autofill::PasswordAndMetadata additional_password_data;
41     additional_password_data.password = base::UTF8ToUTF16(additional_password);
42     additional_password_data.realm.clear();
43     form_data->additional_logins.insert(
44         std::pair<base::string16, autofill::PasswordAndMetadata>(
45             base::UTF8ToUTF16(additional_username), additional_password_data));
46   }
47   form_data->wait_for_username = wait_for_username;
48 }
49 
SetFillData(const std::string & origin,const char * form_name,const char * username_field,const char * username_value,const char * password_field,const char * password_value,FillData * fill_data)50 void SetFillData(const std::string& origin,
51                  const char* form_name,
52                  const char* username_field,
53                  const char* username_value,
54                  const char* password_field,
55                  const char* password_value,
56                  FillData* fill_data) {
57   DCHECK(fill_data);
58   fill_data->origin = GURL(origin);
59   fill_data->name = base::UTF8ToUTF16(form_name);
60   fill_data->username_element = base::UTF8ToUTF16(username_field);
61   fill_data->username_value = base::UTF8ToUTF16(username_value);
62   fill_data->password_element = base::UTF8ToUTF16(password_field);
63   fill_data->password_value = base::UTF8ToUTF16(password_value);
64 }
65 
66 }  // namespace  test_helpers
67