Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / components / autofill / content / browser / wallet / instrument_unittest.cc
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 #include "base/strings/utf_string_conversions.h"
6 #include "base/values.h"
7 #include "components/autofill/content/browser/wallet/instrument.h"
8 #include "components/autofill/content/browser/wallet/wallet_address.h"
9 #include "components/autofill/content/browser/wallet/wallet_test_util.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 using base::ASCIIToUTF16;
13
14 namespace {
15
16 const char kPrimaryAccountNumber[] = "4444444444444448";
17 const char kCardVerificationNumber[] = "123";
18 const char kLastFourDigits[] = "4448";
19
20 }
21
22 namespace autofill {
23 namespace wallet {
24
25 TEST(Instrument, LastFourDigits) {
26   Instrument instrument(ASCIIToUTF16(kPrimaryAccountNumber),
27                         ASCIIToUTF16(kCardVerificationNumber),
28                         12,
29                         2015,
30                         Instrument::VISA,
31                         GetTestShippingAddress().Pass());
32
33   EXPECT_EQ(ASCIIToUTF16(kLastFourDigits), instrument.last_four_digits());
34 }
35
36 TEST(Instrument, ToDictionary) {
37   base::DictionaryValue expected;
38   expected.SetString("type", "CREDIT_CARD");
39   expected.SetInteger("credit_card.exp_month", 12);
40   expected.SetInteger("credit_card.exp_year", 2015);
41   expected.SetString("credit_card.last_4_digits", kLastFourDigits);
42   expected.SetString("credit_card.fop_type", "VISA");
43   expected.SetString("credit_card.address.country_name_code", "US");
44   expected.SetString("credit_card.address.recipient_name",
45                      "ship_recipient_name");
46   expected.SetString("credit_card.address.locality_name",
47                      "ship_locality_name");
48   expected.SetString("credit_card.address.dependent_locality_name",
49                      "ship_dependent_locality_name");
50   expected.SetString("credit_card.address.administrative_area_name",
51                      "ship_admin_area_name");
52   expected.SetString("credit_card.address.postal_code_number",
53                      "ship_postal_code_number");
54   expected.SetString("credit_card.address.sorting_code",
55                      "ship_sorting_code");
56   base::ListValue* address_lines = new base::ListValue();
57   address_lines->AppendString("ship_address_line_1");
58   address_lines->AppendString("ship_address_line_2");
59   expected.Set("credit_card.address.address_line", address_lines);
60
61   Instrument instrument(ASCIIToUTF16(kPrimaryAccountNumber),
62                         ASCIIToUTF16(kCardVerificationNumber),
63                         12,
64                         2015,
65                         Instrument::VISA,
66                         GetTestShippingAddress().Pass());
67
68   EXPECT_TRUE(expected.Equals(instrument.ToDictionary().get()));
69 }
70
71 }  // namespace wallet
72 }  // namespace autofill