2bb98380967bcf8c266211d46eb8208bb6e137e7
[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   virtual ~TestPersonalDataManager();
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   virtual const std::vector<AutofillProfile*>& GetProfiles() const OVERRIDE;
30   virtual const std::vector<AutofillProfile*>& web_profiles() const OVERRIDE;
31   virtual const std::vector<CreditCard*>& GetCreditCards() const OVERRIDE;
32
33   virtual std::string SaveImportedProfile(
34       const AutofillProfile& imported_profile) OVERRIDE;
35   virtual std::string SaveImportedCreditCard(
36       const CreditCard& imported_credit_card) OVERRIDE;
37
38   virtual std::string CountryCodeForCurrentTimezone() const OVERRIDE;
39   virtual const std::string& GetDefaultCountryCodeForNewAddress() const
40       OVERRIDE;
41
42   void set_timezone_country_code(const std::string& timezone_country_code) {
43     timezone_country_code_ = timezone_country_code;
44   }
45   void set_default_country_code(const std::string& default_country_code) {
46     default_country_code_ = default_country_code;
47   }
48
49   const AutofillProfile& imported_profile() { return imported_profile_; }
50   const CreditCard& imported_credit_card() { return imported_credit_card_; }
51
52  private:
53   std::vector<AutofillProfile*> profiles_;
54   std::vector<CreditCard*> credit_cards_;
55   AutofillProfile imported_profile_;
56   CreditCard imported_credit_card_;
57   std::string timezone_country_code_;
58   std::string default_country_code_;
59 };
60
61 }  // namespace autofill
62
63 #endif  // COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_PERSONAL_DATA_MANAGER_H_