| Index: chrome/browser/cocoa/autocomplete_text_field_unittest.mm
|
| diff --git a/chrome/browser/cocoa/autocomplete_text_field_unittest.mm b/chrome/browser/cocoa/autocomplete_text_field_unittest.mm
|
| index 60fd275ade5272a9d65f1fcda09df44ea6e0cca0..f82fca7eaffacf0961e4ba94e5cdb249dd83678f 100644
|
| --- a/chrome/browser/cocoa/autocomplete_text_field_unittest.mm
|
| +++ b/chrome/browser/cocoa/autocomplete_text_field_unittest.mm
|
| @@ -27,6 +27,13 @@ class MockLocationIconView : public LocationBarViewMac::LocationIconView {
|
| MockLocationIconView(LocationBarViewMac* owner)
|
| : LocationBarViewMac::LocationIconView(owner) {}
|
|
|
| + // |LocationBarViewMac::LocationIconView::GetDragPasteboard()|
|
| + // expects things to be more initialized than they will be, and
|
| + // will crash if it is called.
|
| + virtual NSPasteboard* GetDragPasteboard() {
|
| + return [NSPasteboard pasteboardWithUniqueName];
|
| + }
|
| +
|
| // We can't use gmock's MOCK_METHOD macro, because it doesn't like the
|
| // NSRect argument to OnMousePressed.
|
| virtual void OnMousePressed(NSRect bounds) {
|
| @@ -594,22 +601,23 @@ TEST_F(AutocompleteTextFieldTest, LocationIconMouseDown) {
|
|
|
| NSRect iconFrame([cell locationIconFrameForFrame:[field_ bounds]]);
|
| NSPoint location(NSMakePoint(NSMidX(iconFrame), NSMidY(iconFrame)));
|
| - NSEvent* event(Event(field_, location, NSLeftMouseDown, 1));
|
| + NSEvent* downEvent(Event(field_, location, NSLeftMouseDown, 1));
|
| + NSEvent* upEvent(Event(field_, location, NSLeftMouseUp, 1));
|
|
|
| - [field_ mouseDown:event];
|
| + // Since location icon can be dragged, the mouse-press is sent on
|
| + // mouse-up.
|
| + [NSApp postEvent:upEvent atStart:YES];
|
| + [field_ mouseDown:downEvent];
|
| EXPECT_TRUE(location_icon_view.mouse_was_pressed_);
|
| +
|
| + // TODO(shess): Test that mouse drags are initiated if the next
|
| + // event is a drag, or if the mouse-up takes too long to arrive.
|
| }
|
|
|
| // Clicking a Page Action icon should call its OnMousePressed.
|
| TEST_F(AutocompleteTextFieldTest, PageActionMouseDown) {
|
| AutocompleteTextFieldCell* cell = [field_ autocompleteTextFieldCell];
|
|
|
| - MockLocationIconView location_icon_view(NULL);
|
| - location_icon_view.SetImage(
|
| - ResourceBundle::GetSharedInstance().GetNSImageNamed(
|
| - IDR_OMNIBOX_HTTPS_VALID));
|
| - [cell setLocationIconView:&location_icon_view];
|
| -
|
| MockPageActionImageView page_action_view;
|
| NSImage* image = [NSImage imageNamed:@"NSApplicationIcon"];
|
| page_action_view.SetImage(image);
|
| @@ -622,8 +630,7 @@ TEST_F(AutocompleteTextFieldTest, PageActionMouseDown) {
|
| list.Add(&page_action_view2);
|
| [cell setPageActionViewList:&list];
|
|
|
| - // One page action, no lock.
|
| - location_icon_view.SetVisible(false);
|
| + // One page action.
|
| page_action_view.SetVisible(true);
|
| page_action_view2.SetVisible(false);
|
| NSRect iconFrame([cell pageActionFrameForIndex:0 inFrame:[field_ bounds]]);
|
| @@ -649,8 +656,7 @@ TEST_F(AutocompleteTextFieldTest, PageActionMouseDown) {
|
| [field_ mouseDown:event];
|
| EXPECT_TRUE(page_action_view.MouseWasPressed());
|
|
|
| - // Two page actions plus lock.
|
| - location_icon_view.SetVisible(true);
|
| + // Two page actions.
|
| iconFrame = [cell pageActionFrameForIndex:0 inFrame:[field_ bounds]];
|
| location = NSMakePoint(NSMidX(iconFrame), NSMidY(iconFrame));
|
| event = Event(field_, location, NSLeftMouseDown, 1);
|
| @@ -664,13 +670,6 @@ TEST_F(AutocompleteTextFieldTest, PageActionMouseDown) {
|
|
|
| [field_ mouseDown:event];
|
| EXPECT_TRUE(page_action_view.MouseWasPressed());
|
| -
|
| - iconFrame = [cell locationIconFrameForFrame:[field_ bounds]];
|
| - location = NSMakePoint(NSMidX(iconFrame), NSMidY(iconFrame));
|
| - event = Event(field_, location, NSLeftMouseDown, 1);
|
| -
|
| - [field_ mouseDown:event];
|
| - EXPECT_TRUE(location_icon_view.mouse_was_pressed_);
|
| }
|
|
|
| // Test that page action menus are properly returned.
|
|
|