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#import <Cocoa/Cocoa.h>
6
7#include "base/memory/singleton.h"
8#include "chrome/app/chrome_command_ids.h"
9#import "chrome/browser/ui/cocoa/accelerators_cocoa.h"
10#include "testing/gtest/include/gtest/gtest.h"
11#include "testing/gtest_mac.h"
12#include "ui/base/models/accelerator_cocoa.h"
13
14TEST(AcceleratorsCocoaTest, GetAccelerator) {
15  AcceleratorsCocoa* keymap = AcceleratorsCocoa::GetInstance();
16  const ui::AcceleratorCocoa* accelerator =
17      keymap->GetAcceleratorForCommand(IDC_COPY);
18  ASSERT_TRUE(accelerator);
19  EXPECT_NSEQ(@"c", accelerator->characters());
20  EXPECT_EQ(static_cast<int>(NSCommandKeyMask), accelerator->modifiers());
21}
22
23TEST(AcceleratorsCocoaTest, GetNullAccelerator) {
24  AcceleratorsCocoa* keymap = AcceleratorsCocoa::GetInstance();
25  const ui::AcceleratorCocoa* accelerator =
26      keymap->GetAcceleratorForCommand(314159265);
27  EXPECT_FALSE(accelerator);
28}
29