Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / components / autofill / core / browser / test_personal_data_manager.h
1 // Copyright 2013 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 #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_PERSONAL_DATA_MANAGER_H_
6 #define COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_PERSONAL_DATA_MANAGER_H_
7
8 #include <vector>
9
10 #include "components/autofill/core/browser/autofill_profile.h"
11 #include "components/autofill/core/browser/credit_card.h"
12 #include "components/autofill/core/browser/personal_data_manager.h"
13
14 namespace autofill {
15
16 // A simplistic PersonalDataManager used for testing.
17 class TestPersonalDataManager : public PersonalDataManager {
18  public:
19   TestPersonalDataManager();
20   ~TestPersonalDataManager() override;
21
22   // Adds |profile| to |profiles_|. This does not take ownership of |profile|.
23   void AddTestingProfile(AutofillProfile* profile);
24
25   // Adds |credit_card| to |credit_cards_|. This does not take ownership of
26   // |credit_card|.
27   void AddTestingCreditCard(CreditCard* credit_card);
28
29   const std::vector<AutofillProfile*>& GetProfiles() const override;
30   const std::vector<AutofillProfile*>& web_profiles() const override;
31   const std::vector<CreditCard*>& GetCreditCards() const override;
32
33   std::string SaveImportedProfile(
34       const AutofillProfile& imported_profile) override;
35   std::string SaveImportedCreditCard(
36       const CreditCard& imported_credit_card) override;
37
38   std::string CountryCodeForCurrentTimezone() const override;
39   const std::string& GetDefaultCountryCodeForNewAddress() const override;
40
41   void set_timezone_country_code(const std::string& timezone_country_code) {
42     timezone_country_code_ = timezone_country_code;
43   }
44   void set_default_country_code(const std::string& default_country_code) {
45     default_country_code_ = default_country_code;
46   }
47
48   const AutofillProfile& imported_profile() { return imported_profile_; }
49   const CreditCard& imported_credit_card() { return imported_credit_card_; }
50
51  private:
52   std::vector<AutofillProfile*> profiles_;
53   std::vector<CreditCard*> credit_cards_;
54   AutofillProfile imported_profile_;
55   CreditCard imported_credit_card_;
56   std::string timezone_country_code_;
57   std::string default_country_code_;
58 };
59
60 }  // namespace autofill
61
62 #endif  // COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_PERSONAL_DATA_MANAGER_H_