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 "chrome/browser/ui/autofill/mock_autofill_dialog_view_delegate.h" 6 #include "content/public/browser/native_web_keyboard_event.h" // For gmock. 7 #include "grit/generated_resources.h" 8 #include "ui/gfx/rect.h" // Only needed because gmock needs complete types. 9 10 namespace autofill { 11 12 MockAutofillDialogViewDelegate::MockAutofillDialogViewDelegate() { 13 using testing::DefaultValue; 14 using testing::_; 15 using testing::Return; 16 using testing::ReturnRef; 17 18 // N.B. Setting DefaultValue in the ctor and deleting it in the dtor will 19 // only work if this Mock is not used together with other mock code that 20 // sets different defaults. If tests utilizing the MockController start 21 // breaking because of this, use ON_CALL instead. 22 DefaultValue<const DetailInputs&>::Set(default_inputs_); 23 DefaultValue<string16>::Set(string16()); 24 DefaultValue<ValidityData>::Set(ValidityData()); 25 DefaultValue<DialogSignedInState>::Set(REQUIRES_RESPONSE); 26 DefaultValue<gfx::Image>::Set(gfx::Image()); 27 DefaultValue<SuggestionState>::Set(SuggestionState(false, 28 string16(), 29 string16(), 30 gfx::Image(), 31 string16(), 32 gfx::Image())); 33 34 // SECTION_CC *must* have a CREDIT_CARD_VERIFICATION_CODE field. 35 const DetailInput kCreditCardInputs[] = { 36 { 2, CREDIT_CARD_VERIFICATION_CODE, IDS_AUTOFILL_DIALOG_PLACEHOLDER_CVC } 37 }; 38 cc_default_inputs_.push_back(kCreditCardInputs[0]); 39 ON_CALL(*this, RequestedFieldsForSection(SECTION_CC)) 40 .WillByDefault(ReturnRef(cc_default_inputs_)); 41 42 ON_CALL(*this, GetDialogButtons()) 43 .WillByDefault(Return(ui::DIALOG_BUTTON_OK | ui::DIALOG_BUTTON_CANCEL)); 44 ON_CALL(*this, LegalDocumentLinks()).WillByDefault(ReturnRef(range_)); 45 46 // Activate all sections but CC_BILLING - default for the real 47 // controller implementation, too. 48 ON_CALL(*this, SectionIsActive(_)).WillByDefault(Return(true)); 49 ON_CALL(*this, SectionIsActive(SECTION_CC_BILLING)) 50 .WillByDefault(Return(false)); 51 } 52 53 MockAutofillDialogViewDelegate::~MockAutofillDialogViewDelegate() { 54 using testing::DefaultValue; 55 56 DefaultValue<SuggestionState>::Clear(); 57 DefaultValue<gfx::Image>::Clear(); 58 DefaultValue<DialogSignedInState>::Clear(); 59 DefaultValue<ValidityData>::Clear(); 60 DefaultValue<string16>::Clear(); 61 DefaultValue<const DetailInputs&>::Clear(); 62 } 63 64 } // namespace autofill 65