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