30 lines
937 B
C++
30 lines
937 B
C++
|
// Copyright (c) 2019 GitHub, Inc.
|
||
|
// Use of this source code is governed by the MIT license that can be
|
||
|
// found in the LICENSE file.
|
||
|
|
||
|
#include "shell/browser/ui/accelerator_util.h"
|
||
|
|
||
|
#include "testing/gtest/include/gtest/gtest.h"
|
||
|
|
||
|
namespace accelerator_util {
|
||
|
|
||
|
TEST(AcceleratorUtilTest, StringToAccelerator) {
|
||
|
struct {
|
||
|
const std::string& description;
|
||
|
bool expected_success;
|
||
|
} keys[] = {
|
||
|
{"♫♫♫♫♫♫♫", false}, {"Cmd+Plus", true}, {"Ctrl+Space", true},
|
||
|
{"CmdOrCtrl", false}, {"Alt+Tab", true}, {"AltGr+Backspace", true},
|
||
|
{"Super+Esc", true}, {"Super+X", true}, {"Shift+1", true},
|
||
|
};
|
||
|
|
||
|
for (const auto& key : keys) {
|
||
|
// Initialize empty-but-not-null accelerator
|
||
|
ui::Accelerator out = ui::Accelerator(ui::VKEY_UNKNOWN, ui::EF_NONE);
|
||
|
bool success = StringToAccelerator(key.description, &out);
|
||
|
EXPECT_EQ(success, key.expected_success);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
} // namespace accelerator_util
|