1// Copyright (c) 2011 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_COCOA_AUTOCOMPLETE_TEXT_FIELD_UNITTEST_HELPER_H_ 6#define CHROME_BROWSER_UI_COCOA_AUTOCOMPLETE_TEXT_FIELD_UNITTEST_HELPER_H_ 7#pragma once 8 9#import <Cocoa/Cocoa.h> 10 11#import "base/mac/cocoa_protocols.h" 12#include "base/memory/scoped_nsobject.h" 13#import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field.h" 14#include "testing/gmock/include/gmock/gmock.h" 15 16@class AutocompleteTextFieldEditor; 17 18// Return the right field editor for AutocompleteTextField instance. 19 20@interface AutocompleteTextFieldWindowTestDelegate : 21 NSObject<NSWindowDelegate> { 22 scoped_nsobject<AutocompleteTextFieldEditor> editor_; 23} 24- (id)windowWillReturnFieldEditor:(NSWindow *)sender toObject:(id)anObject; 25@end 26 27// Allow monitoring calls into AutocompleteTextField's observer. 28// Being in a .h file with an anonymous namespace is strange, but this 29// is here so the mock interface doesn't have to change in multiple 30// places. 31 32// Any method you add here needs a unit test. You knew that. 33 34class MockAutocompleteTextFieldObserver : public AutocompleteTextFieldObserver { 35 public: 36 MockAutocompleteTextFieldObserver(); 37 ~MockAutocompleteTextFieldObserver(); 38 39 MOCK_METHOD1(SelectionRangeForProposedRange, NSRange(NSRange range)); 40 MOCK_METHOD1(OnControlKeyChanged, void(bool pressed)); 41 MOCK_METHOD0(CanCopy, bool()); 42 MOCK_METHOD1(CopyToPasteboard, void(NSPasteboard* pboard)); 43 MOCK_METHOD0(OnPaste, void()); 44 MOCK_METHOD0(CanPasteAndGo, bool()); 45 MOCK_METHOD0(GetPasteActionStringId, int()); 46 MOCK_METHOD0(OnPasteAndGo, void()); 47 MOCK_METHOD0(OnFrameChanged, void()); 48 MOCK_METHOD0(ClosePopup, void()); 49 MOCK_METHOD0(OnDidBeginEditing, void()); 50 MOCK_METHOD0(OnBeforeChange, void()); 51 MOCK_METHOD0(OnDidChange, void()); 52 MOCK_METHOD0(OnDidEndEditing, void()); 53 MOCK_METHOD0(OnStartingIME, void()); 54 MOCK_METHOD1(OnDoCommandBySelector, bool(SEL cmd)); 55 MOCK_METHOD1(OnSetFocus, void(bool control_down)); 56 MOCK_METHOD0(OnKillFocus, void()); 57}; 58 59#endif // CHROME_BROWSER_UI_COCOA_AUTOCOMPLETE_TEXT_FIELD_UNITTEST_HELPER_H_ 60