OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/autofill/core/browser/address_i18n.h" | 5 #include "components/autofill/core/browser/address_i18n.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/guid.h" | 10 #include "base/guid.h" |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 #include "components/autofill/core/browser/autofill_profile.h" | 12 #include "components/autofill/core/browser/autofill_profile.h" |
13 #include "components/autofill/core/browser/autofill_test_utils.h" | 13 #include "components/autofill/core/browser/autofill_test_utils.h" |
14 #include "components/autofill/core/browser/field_types.h" | 14 #include "components/autofill/core/browser/field_types.h" |
15 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
16 #include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_da
ta.h" | 16 #include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_da
ta.h" |
17 #include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_fi
eld.h" | 17 #include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_fi
eld.h" |
18 | 18 |
19 namespace autofill { | 19 namespace autofill { |
20 namespace i18n { | 20 namespace i18n { |
21 | 21 |
22 using ::i18n::addressinput::AddressData; | 22 using ::i18n::addressinput::AddressData; |
23 using ::i18n::addressinput::AddressField; | 23 using ::i18n::addressinput::AddressField; |
24 | 24 |
25 using ::i18n::addressinput::ADMIN_AREA; | 25 using ::i18n::addressinput::ADMIN_AREA; |
26 using ::i18n::addressinput::COUNTRY; | 26 using ::i18n::addressinput::COUNTRY; |
27 using ::i18n::addressinput::DEPENDENT_LOCALITY; | 27 using ::i18n::addressinput::DEPENDENT_LOCALITY; |
28 using ::i18n::addressinput::LOCALITY; | 28 using ::i18n::addressinput::LOCALITY; |
| 29 using ::i18n::addressinput::ORGANIZATION; |
29 using ::i18n::addressinput::POSTAL_CODE; | 30 using ::i18n::addressinput::POSTAL_CODE; |
30 using ::i18n::addressinput::RECIPIENT; | 31 using ::i18n::addressinput::RECIPIENT; |
31 using ::i18n::addressinput::SORTING_CODE; | 32 using ::i18n::addressinput::SORTING_CODE; |
32 using ::i18n::addressinput::STREET_ADDRESS; | 33 using ::i18n::addressinput::STREET_ADDRESS; |
33 | 34 |
34 TEST(AddressI18nTest, FieldTypeMirrorConversions) { | 35 TEST(AddressI18nTest, FieldTypeMirrorConversions) { |
35 static const struct { | 36 static const struct { |
36 bool billing; | 37 bool billing; |
37 ServerFieldType server_field; | 38 ServerFieldType server_field; |
38 AddressField address_field; | 39 AddressField address_field; |
39 } kTestData[] = { | 40 } kTestData[] = { |
40 {true, ADDRESS_BILLING_COUNTRY, COUNTRY}, | 41 {true, ADDRESS_BILLING_COUNTRY, COUNTRY}, |
41 {true, ADDRESS_BILLING_STATE, ADMIN_AREA}, | 42 {true, ADDRESS_BILLING_STATE, ADMIN_AREA}, |
42 {true, ADDRESS_BILLING_CITY, LOCALITY}, | 43 {true, ADDRESS_BILLING_CITY, LOCALITY}, |
43 {true, ADDRESS_BILLING_DEPENDENT_LOCALITY, DEPENDENT_LOCALITY}, | 44 {true, ADDRESS_BILLING_DEPENDENT_LOCALITY, DEPENDENT_LOCALITY}, |
44 {true, ADDRESS_BILLING_SORTING_CODE, SORTING_CODE}, | 45 {true, ADDRESS_BILLING_SORTING_CODE, SORTING_CODE}, |
45 {true, ADDRESS_BILLING_ZIP, POSTAL_CODE}, | 46 {true, ADDRESS_BILLING_ZIP, POSTAL_CODE}, |
46 {true, ADDRESS_BILLING_STREET_ADDRESS, STREET_ADDRESS}, | 47 {true, ADDRESS_BILLING_STREET_ADDRESS, STREET_ADDRESS}, |
| 48 {true, COMPANY_NAME, ORGANIZATION}, |
47 {true, NAME_BILLING_FULL, RECIPIENT}, | 49 {true, NAME_BILLING_FULL, RECIPIENT}, |
48 {false, ADDRESS_HOME_COUNTRY, COUNTRY}, | 50 {false, ADDRESS_HOME_COUNTRY, COUNTRY}, |
49 {false, ADDRESS_HOME_STATE, ADMIN_AREA}, | 51 {false, ADDRESS_HOME_STATE, ADMIN_AREA}, |
50 {false, ADDRESS_HOME_CITY, LOCALITY}, | 52 {false, ADDRESS_HOME_CITY, LOCALITY}, |
51 {false, ADDRESS_HOME_DEPENDENT_LOCALITY, DEPENDENT_LOCALITY}, | 53 {false, ADDRESS_HOME_DEPENDENT_LOCALITY, DEPENDENT_LOCALITY}, |
52 {false, ADDRESS_HOME_SORTING_CODE, SORTING_CODE}, | 54 {false, ADDRESS_HOME_SORTING_CODE, SORTING_CODE}, |
53 {false, ADDRESS_HOME_ZIP, POSTAL_CODE}, | 55 {false, ADDRESS_HOME_ZIP, POSTAL_CODE}, |
54 {false, ADDRESS_HOME_STREET_ADDRESS, STREET_ADDRESS}, | 56 {false, ADDRESS_HOME_STREET_ADDRESS, STREET_ADDRESS}, |
| 57 {false, COMPANY_NAME, ORGANIZATION}, |
55 {false, NAME_FULL, RECIPIENT}, | 58 {false, NAME_FULL, RECIPIENT}, |
56 }; | 59 }; |
57 | 60 |
58 for (size_t i = 0; i < arraysize(kTestData); ++i) { | 61 for (size_t i = 0; i < arraysize(kTestData); ++i) { |
59 AddressField address_field; | 62 AddressField address_field; |
60 EXPECT_TRUE(FieldForType(kTestData[i].server_field, &address_field)); | 63 EXPECT_TRUE(FieldForType(kTestData[i].server_field, &address_field)); |
61 EXPECT_EQ(kTestData[i].address_field, address_field); | 64 EXPECT_EQ(kTestData[i].address_field, address_field); |
62 | 65 |
63 ServerFieldType server_field = | 66 ServerFieldType server_field = |
64 TypeForField(kTestData[i].address_field, kTestData[i].billing); | 67 TypeForField(kTestData[i].address_field, kTestData[i].billing); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 CreateAddressDataFromAutofillProfile(profile, "en_US"); | 111 CreateAddressDataFromAutofillProfile(profile, "en_US"); |
109 | 112 |
110 AddressData expected; | 113 AddressData expected; |
111 expected.region_code = "US"; | 114 expected.region_code = "US"; |
112 expected.address_line.push_back("666 Erebus St."); | 115 expected.address_line.push_back("666 Erebus St."); |
113 expected.address_line.push_back("Apt 8"); | 116 expected.address_line.push_back("Apt 8"); |
114 expected.administrative_area = "CA"; | 117 expected.administrative_area = "CA"; |
115 expected.locality = "Elysium"; | 118 expected.locality = "Elysium"; |
116 expected.postal_code = "91111"; | 119 expected.postal_code = "91111"; |
117 expected.language_code = "en"; | 120 expected.language_code = "en"; |
| 121 expected.organization = "Underworld"; |
118 expected.recipient = "John H. Doe"; | 122 expected.recipient = "John H. Doe"; |
119 | 123 |
120 EXPECT_EQ(expected, *actual); | 124 EXPECT_EQ(expected, *actual); |
121 } | 125 } |
122 | 126 |
123 } // namespace i18n | 127 } // namespace i18n |
124 } // namespace autofill | 128 } // namespace autofill |
OLD | NEW |