15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// found in the LICENSE file. 45d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#ifndef CHROME_BROWSER_UI_AUTOFILL_MOCK_ADDRESS_VALIDATOR_H_ 65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define CHROME_BROWSER_UI_AUTOFILL_MOCK_ADDRESS_VALIDATOR_H_ 75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/basictypes.h" 95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "testing/gmock/include/gmock/gmock.h" 10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "third_party/libaddressinput/chromium/chrome_address_validator.h" 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_data.h" 125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)namespace autofill { 145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)MATCHER_P(CountryCodeMatcher, country_code, "Checks an AddressData's country") { 165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) // |arg| is an AddressData object. 17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return arg.region_code == country_code; 185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass MockAddressValidator : public AddressValidator { 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public: 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) MockAddressValidator(); 235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual ~MockAddressValidator(); 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) MOCK_METHOD1(LoadRules, void(const std::string& country_code)); 265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) MOCK_CONST_METHOD3(ValidateAddress, 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch AddressValidator::Status( 295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const ::i18n::addressinput::AddressData& address, 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const ::i18n::addressinput::FieldProblemMap* filter, 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch ::i18n::addressinput::FieldProblemMap* problems)); 325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 33a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) MOCK_CONST_METHOD4(GetSuggestions, 34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch AddressValidator::Status( 35a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) const ::i18n::addressinput::AddressData& user_input, 36a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ::i18n::addressinput::AddressField focused_field, 37a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) size_t suggestions_limit, 38a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) std::vector< ::i18n::addressinput::AddressData>* suggestions)); 39a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) MOCK_CONST_METHOD1(CanonicalizeAdministrativeArea, 415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) bool(::i18n::addressinput::AddressData* address_data)); 425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) private: 445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(MockAddressValidator); 455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}; 465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} // namespace autofill 485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif // CHROME_BROWSER_UI_AUTOFILL_MOCK_ADDRESS_VALIDATOR_H_ 50