blob: 14266b667375b9e68dccb2b6237c38c6e21b3f73 [file] [log] [blame]
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import <Cocoa/Cocoa.h>
#include "base/mac/scoped_nsobject.h"
#import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
#import "chrome/browser/ui/cocoa/wrench_menu/menu_tracked_root_view.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/platform_test.h"
#import "third_party/ocmock/OCMock/OCMock.h"
#include "third_party/ocmock/gtest_support.h"
class MenuTrackedRootViewTest : public CocoaTest {
public:
virtual void SetUp() {
CocoaTest::SetUp();
view_.reset([[MenuTrackedRootView alloc] init]);
}
base::scoped_nsobject<MenuTrackedRootView> view_;
};
TEST_F(MenuTrackedRootViewTest, MouseUp) {
id menu = [OCMockObject mockForClass:[NSMenu class]];
[[menu expect] cancelTracking];
id menuItem = [OCMockObject mockForClass:[NSMenuItem class]];
[[[menuItem stub] andReturn:menu] menu];
[view_ setMenuItem:menuItem];
NSEvent* event = [NSEvent mouseEventWithType:NSLeftMouseUp
location:NSMakePoint(42, 42)
modifierFlags:0
timestamp:0
windowNumber:[test_window() windowNumber]
context:nil
eventNumber:1
clickCount:1
pressure:1.0];
[view_ mouseUp:event];
EXPECT_OCMOCK_VERIFY(menu);
EXPECT_OCMOCK_VERIFY(menuItem);
}