1dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file.
4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
5731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#ifndef CHROME_BROWSER_AUTOFILL_AUTOFILL_COMMON_TEST_H_
6731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#define CHROME_BROWSER_AUTOFILL_AUTOFILL_COMMON_TEST_H_
73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once
8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenclass AutofillProfile;
10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochclass CreditCard;
11731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickclass Profile;
12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace webkit_glue {
14ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenstruct FormField;
15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}  // namespace webkit_glue
16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
17ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Common utilities shared amongst Autofill tests.
18731df977c0511bca2206b5f333555b1205ff1f43Iain Merricknamespace autofill_test {
19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Provides a quick way to populate a FormField with c-strings.
21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid CreateTestFormField(const char* label,
22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                         const char* name,
23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                         const char* value,
24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                         const char* type,
25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                         webkit_glue::FormField* field);
26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// A unit testing utility that is common to a number of the Autofill unit
28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// tests.  |SetProfileInfo| provides a quick way to populate a profile with
29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// c-strings.
30ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid SetProfileInfo(AutofillProfile* profile,
31dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    const char* first_name, const char* middle_name,
32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch    const char* last_name, const char* email, const char* company,
33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch    const char* address1, const char* address2, const char* city,
34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch    const char* state, const char* zipcode, const char* country,
35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch    const char* phone, const char* fax);
36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
37ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid SetProfileInfoWithGuid(AutofillProfile* profile,
383f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen    const char* guid, const char* first_name, const char* middle_name,
393f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen    const char* last_name, const char* email, const char* company,
403f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen    const char* address1, const char* address2, const char* city,
413f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen    const char* state, const char* zipcode, const char* country,
423f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen    const char* phone, const char* fax);
433f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen
44ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// A unit testing utility that is common to a number of the Autofill unit
45c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// tests.  |SetCreditCardInfo| provides a quick way to populate a credit card
46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// with c-strings.
47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid SetCreditCardInfo(CreditCard* credit_card,
48dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    const char* name_on_card, const char* card_number,
49513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch    const char* expiration_month, const char* expiration_year);
50c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
51731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// TODO(isherman): We should do this automatically for all tests, not manually
52731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// on a per-test basis: http://crbug.com/57221
53731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// Disables or mocks out code that would otherwise reach out to system services.
54731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickvoid DisableSystemServices(Profile* profile);
55c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
56731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick}  // namespace autofill_test
57731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick
58731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#endif  // CHROME_BROWSER_AUTOFILL_AUTOFILL_COMMON_TEST_H_
59