mock_address_validator.h revision 116680a4aac90f2aa7413d9095a592090648e557
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 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_UI_AUTOFILL_MOCK_ADDRESS_VALIDATOR_H_ 6#define CHROME_BROWSER_UI_AUTOFILL_MOCK_ADDRESS_VALIDATOR_H_ 7 8#include "base/basictypes.h" 9#include "testing/gmock/include/gmock/gmock.h" 10#include "third_party/libaddressinput/chromium/chrome_address_validator.h" 11#include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_data.h" 12 13namespace autofill { 14 15MATCHER_P(CountryCodeMatcher, country_code, "Checks an AddressData's country") { 16 // |arg| is an AddressData object. 17 return arg.region_code == country_code; 18} 19 20class MockAddressValidator : public AddressValidator { 21 public: 22 MockAddressValidator(); 23 virtual ~MockAddressValidator(); 24 25 MOCK_METHOD1(LoadRules, void(const std::string& country_code)); 26 27 MOCK_CONST_METHOD3(ValidateAddress, 28 AddressValidator::Status( 29 const ::i18n::addressinput::AddressData& address, 30 const ::i18n::addressinput::FieldProblemMap* filter, 31 ::i18n::addressinput::FieldProblemMap* problems)); 32 33 MOCK_CONST_METHOD4(GetSuggestions, 34 AddressValidator::Status( 35 const ::i18n::addressinput::AddressData& user_input, 36 ::i18n::addressinput::AddressField focused_field, 37 size_t suggestions_limit, 38 std::vector< ::i18n::addressinput::AddressData>* suggestions)); 39 40 MOCK_CONST_METHOD1(CanonicalizeAdministrativeArea, 41 bool(::i18n::addressinput::AddressData* address_data)); 42 43 private: 44 DISALLOW_COPY_AND_ASSIGN(MockAddressValidator); 45}; 46 47} // namespace autofill 48 49#endif // CHROME_BROWSER_UI_AUTOFILL_MOCK_ADDRESS_VALIDATOR_H_ 50