1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file.
4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "third_party/libaddressinput/chromium/addressinput_util.h"
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "testing/gtest/include/gtest/gtest.h"
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_data.h"
9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace autofill {
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace addressinput {
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdochusing ::i18n::addressinput::AddressData;
14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
15116680a4aac90f2aa7413d9095a592090648e557Ben MurdochTEST(AddressinputUtilTest, AddressRequiresRegionCode) {
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  AddressData address;
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  EXPECT_FALSE(HasAllRequiredFields(address));
18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
20116680a4aac90f2aa7413d9095a592090648e557Ben MurdochTEST(AddressinputUtilTest, UsRequiresState) {
21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  AddressData address;
22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  address.region_code = "US";
23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  address.postal_code = "90291";
24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  // Leave state empty.
25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  address.locality = "Los Angeles";
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  address.address_line.push_back("340 Main St.");
27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  EXPECT_FALSE(HasAllRequiredFields(address));
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
30116680a4aac90f2aa7413d9095a592090648e557Ben MurdochTEST(AddressinputUtilTest, CompleteAddressReturnsTrue) {
31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  AddressData address;
32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  address.region_code = "US";
33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  address.postal_code = "90291";
34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  address.administrative_area = "CA";
35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  address.locality = "Los Angeles";
36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  address.address_line.push_back("340 Main St.");
37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  EXPECT_TRUE(HasAllRequiredFields(address));
38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace addressinput
41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace autofill
42