Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(113)

Side by Side Diff: chrome/browser/autofill/wallet/wallet_address_unittest.cc

Issue 11293078: Integrating Online Wallet into Chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing HexStringToInt Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012 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 "base/json/json_reader.h"
6 #include "base/logging.h"
7 #include "base/memory/scoped_ptr.h"
8 #include "base/values.h"
9 #include "chrome/browser/autofill/wallet/wallet_address.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 namespace {
13
14 const char kAddressMissingObjectId[] =
15 "{"
16 " \"phone_number\":\"phone_number\","
17 " \"postal_address\":"
18 " {"
19 " \"recipient_name\":\"recipient_name\","
20 " \"address_line\":"
21 " ["
22 " \"address_line_1\","
23 " \"address_line_2\""
24 " ],"
25 " \"locality_name\":\"locality_name\","
26 " \"administrative_area_name\":\"administrative_area_name\","
27 " \"postal_code_number\":\"postal_code_number\","
28 " \"country_name_code\":\"country_name_code\""
29 " }"
30 "}";
31
32 const char kAddressMissingCountryNameCode[] =
33 "{"
34 " \"id\":\"id\","
35 " \"phone_number\":\"phone_number\","
36 " \"postal_address\":"
37 " {"
38 " \"recipient_name\":\"recipient_name\","
39 " \"address_line\":"
40 " ["
41 " \"address_line_1\","
42 " \"address_line_2\""
43 " ],"
44 " \"locality_name\":\"locality_name\","
45 " \"administrative_area_name\":\"administrative_area_name\","
46 " \"postal_code_number\":\"postal_code_number\""
47 " }"
48 "}";
49
50 const char kAddressMissingRecipientName[] =
51 "{"
52 " \"id\":\"id\","
53 " \"phone_number\":\"phone_number\","
54 " \"postal_address\":"
55 " {"
56 " \"address_line\":"
57 " ["
58 " \"address_line_1\","
59 " \"address_line_2\""
60 " ],"
61 " \"locality_name\":\"locality_name\","
62 " \"administrative_area_name\":\"administrative_area_name\","
63 " \"postal_code_number\":\"postal_code_number\","
64 " \"country_name_code\":\"country_name_code\""
65 " }"
66 "}";
67
68 const char kAddressMissingPostalCodeNumber[] =
69 "{"
70 " \"id\":\"id\","
71 " \"phone_number\":\"phone_number\","
72 " \"postal_address\":"
73 " {"
74 " \"recipient_name\":\"recipient_name\","
75 " \"address_line\":"
76 " ["
77 " \"address_line_1\","
78 " \"address_line_2\""
79 " ],"
80 " \"locality_name\":\"locality_name\","
81 " \"administrative_area_name\":\"administrative_area_name\","
82 " \"country_name_code\":\"country_name_code\""
83 " }"
84 "}";
85
86 const char kValidAddress[] =
87 "{"
88 " \"id\":\"id\","
89 " \"phone_number\":\"phone_number\","
90 " \"postal_address\":"
91 " {"
92 " \"recipient_name\":\"recipient_name\","
93 " \"address_line\":"
94 " ["
95 " \"address_line_1\","
96 " \"address_line_2\""
97 " ],"
98 " \"locality_name\":\"locality_name\","
99 " \"administrative_area_name\":\"administrative_area_name\","
100 " \"country_name_code\":\"country_name_code\","
101 " \"postal_code_number\":\"postal_code_number\""
102 " }"
103 "}";
104
105 const char kClientAddressMissingCountryCode[] =
106 "{"
107 " \"name\":\"name\","
108 " \"address1\":\"address1\","
109 " \"address2\":\"address2\","
110 " \"city\":\"city\","
111 " \"state\":\"state\","
112 " \"postal_code\":\"postal_code\","
113 " \"phone_number\":\"phone_number\""
114 "}";
115
116 const char kClientAddressMissingPostalCode[] =
117 "{"
118 " \"name\":\"name\","
119 " \"address1\":\"address1\","
120 " \"address2\":\"address2\","
121 " \"city\":\"city\","
122 " \"state\":\"state\","
123 " \"phone_number\":\"phone_number\","
124 " \"country_code\":\"country_code\""
125 "}";
126
127 const char kClientAddressMissingName[] =
128 "{"
129 " \"address1\":\"address1\","
130 " \"address2\":\"address2\","
131 " \"city\":\"city\","
132 " \"state\":\"state\","
133 " \"postal_code\":\"postal_code\","
134 " \"phone_number\":\"phone_number\","
135 " \"country_code\":\"country_code\""
136 "}";
137
138 const char kClientValidAddress[] =
139 "{"
140 " \"name\":\"name\","
141 " \"address1\":\"address1\","
142 " \"address2\":\"address2\","
143 " \"city\":\"city\","
144 " \"state\":\"state\","
145 " \"postal_code\":\"postal_code\","
146 " \"phone_number\":\"phone_number\","
147 " \"country_code\":\"country_code\""
148 "}";
149
150 } // anonymous namespace
151
152 namespace wallet {
153
154 class WalletAddressTest : public testing::Test {
155 public:
156 WalletAddressTest() {}
157 protected:
158 void SetUpDictionary(const std::string& json) {
159 scoped_ptr<Value> value(base::JSONReader::Read(json));
160 DCHECK(value.get());
161 DCHECK(value->IsType(Value::TYPE_DICTIONARY));
162 dict.reset(static_cast<DictionaryValue*>(value.release()));
163 }
164 scoped_ptr<const DictionaryValue> dict;
165 };
166
167 TEST_F(WalletAddressTest, CreateAddressWithIDMissingObjectId) {
168 SetUpDictionary(kAddressMissingObjectId);
169 ASSERT_EQ(NULL, Address::CreateAddressWithID(*dict).get());
170 }
171
172 TEST_F(WalletAddressTest, CreateAddressWithIDMissingCountryNameCode) {
173 SetUpDictionary(kAddressMissingCountryNameCode);
174 ASSERT_EQ(NULL, Address::CreateAddressWithID(*dict).get());
175 }
176
177 TEST_F(WalletAddressTest, CreateAddressWithIDMissingRecipientName) {
178 SetUpDictionary(kAddressMissingRecipientName);
179 ASSERT_EQ(NULL, Address::CreateAddressWithID(*dict).get());
180 }
181
182 TEST_F(WalletAddressTest, CreateAddressWithIDMissingPostalCodeNumber) {
183 SetUpDictionary(kAddressMissingPostalCodeNumber);
184 ASSERT_EQ(NULL, Address::CreateAddressWithID(*dict).get());
185 }
186
187 TEST_F(WalletAddressTest, CreateAddressWithID) {
188 SetUpDictionary(kValidAddress);
189 Address address("country_name_code",
190 "recipient_name",
191 "address_line_1",
192 "address_line_2",
193 "locality_name",
194 "administrative_area_name",
195 "postal_code_number",
196 "phone_number",
197 "id");
198 ASSERT_EQ(address, *Address::CreateAddressWithID(*dict));
199 }
200
201 TEST_F(WalletAddressTest, CreateDisplayAddressMissingCountryNameCode) {
202 SetUpDictionary(kClientAddressMissingCountryCode);
203 ASSERT_EQ(NULL, Address::CreateDisplayAddress(*dict).get());
204 }
205
206 TEST_F(WalletAddressTest, CreateDisplayAddressMissingName) {
207 SetUpDictionary(kClientAddressMissingName);
208 ASSERT_EQ(NULL, Address::CreateDisplayAddress(*dict).get());
209 }
210
211 TEST_F(WalletAddressTest, CreateDisplayAddressMissingPostalCode) {
212 SetUpDictionary(kClientAddressMissingPostalCode);
213 ASSERT_EQ(NULL, Address::CreateDisplayAddress(*dict).get());
214 }
215
216 TEST_F(WalletAddressTest, CreateDisplayAddress) {
217 SetUpDictionary(kClientValidAddress);
218 Address address("country_code",
219 "name",
220 "address1",
221 "address2",
222 "city",
223 "state",
224 "postal_code",
225 "phone_number",
226 "");
227 ASSERT_EQ(address, *Address::CreateDisplayAddress(*dict));
228 }
229
230 } // namespace wallet
231
OLDNEW
« no previous file with comments | « chrome/browser/autofill/wallet/wallet_address.cc ('k') | chrome/browser/autofill/wallet/wallet_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698