1868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 5868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/utf_string_conversions.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/values.h" 7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "components/autofill/content/browser/wallet/instrument.h" 8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "components/autofill/content/browser/wallet/wallet_address.h" 9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "components/autofill/content/browser/wallet/wallet_test_util.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)using base::ASCIIToUTF16; 135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace { 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kPrimaryAccountNumber[] = "4444444444444448"; 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kCardVerificationNumber[] = "123"; 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kLastFourDigits[] = "4448"; 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace autofill { 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace wallet { 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(Instrument, LastFourDigits) { 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) Instrument instrument(ASCIIToUTF16(kPrimaryAccountNumber), 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASCIIToUTF16(kCardVerificationNumber), 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 12, 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2015, 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) Instrument::VISA, 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GetTestShippingAddress().Pass()); 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_EQ(ASCIIToUTF16(kLastFourDigits), instrument.last_four_digits()); 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)TEST(Instrument, ToDictionary) { 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) base::DictionaryValue expected; 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) expected.SetString("type", "CREDIT_CARD"); 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) expected.SetInteger("credit_card.exp_month", 12); 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) expected.SetInteger("credit_card.exp_year", 2015); 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) expected.SetString("credit_card.last_4_digits", kLastFourDigits); 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) expected.SetString("credit_card.fop_type", "VISA"); 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) expected.SetString("credit_card.address.country_name_code", "US"); 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) expected.SetString("credit_card.address.recipient_name", 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "ship_recipient_name"); 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) expected.SetString("credit_card.address.locality_name", 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "ship_locality_name"); 485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) expected.SetString("credit_card.address.dependent_locality_name", 495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) "ship_dependent_locality_name"); 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) expected.SetString("credit_card.address.administrative_area_name", 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "ship_admin_area_name"); 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) expected.SetString("credit_card.address.postal_code_number", 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) "ship_postal_code_number"); 545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) expected.SetString("credit_card.address.sorting_code", 555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) "ship_sorting_code"); 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) base::ListValue* address_lines = new base::ListValue(); 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) address_lines->AppendString("ship_address_line_1"); 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) address_lines->AppendString("ship_address_line_2"); 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) expected.Set("credit_card.address.address_line", address_lines); 60a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch expected.SetString("credit_card.address.language_code", "ship_language_code"); 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) Instrument instrument(ASCIIToUTF16(kPrimaryAccountNumber), 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ASCIIToUTF16(kCardVerificationNumber), 642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 12, 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2015, 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) Instrument::VISA, 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GetTestShippingAddress().Pass()); 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) EXPECT_TRUE(expected.Equals(instrument.ToDictionary().get())); 702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace wallet 732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace autofill 74