summaryrefslogtreecommitdiffstats
path: root/base/keyboard_code_conversion_unittest.cc
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-20 18:00:45 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-20 18:00:45 +0000
commitd6833856fdb1ee83547353a4c69388c426ff4aaa (patch)
tree5e9c2d57787fc9e78aa12e8a0ffb1e1f4b7727af /base/keyboard_code_conversion_unittest.cc
parentd8ada0c94d0db73c6f2e9abe778249013692c3de (diff)
downloadchromium_src-d6833856fdb1ee83547353a4c69388c426ff4aaa.zip
chromium_src-d6833856fdb1ee83547353a4c69388c426ff4aaa.tar.gz
chromium_src-d6833856fdb1ee83547353a4c69388c426ff4aaa.tar.bz2
Lands http://codereview.chromium.org/3153008 for bryeung:
Synthetic KeyEvent delivery, part I. This delivers synthetic key events to the views hierarchy. This currently does nothing, as nothing is listening for the event in TOUCH_UI (or elsewhere). That part will come later. BUG=none TEST=unit test for key identifier conversion + manual for extension api Review URL: http://codereview.chromium.org/3130029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56886 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/keyboard_code_conversion_unittest.cc')
-rw-r--r--base/keyboard_code_conversion_unittest.cc43
1 files changed, 43 insertions, 0 deletions
diff --git a/base/keyboard_code_conversion_unittest.cc b/base/keyboard_code_conversion_unittest.cc
new file mode 100644
index 0000000..91e151b
--- /dev/null
+++ b/base/keyboard_code_conversion_unittest.cc
@@ -0,0 +1,43 @@
+// Copyright (c) 2010 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.
+
+#include "base/keyboard_code_conversion.h"
+#include "base/keyboard_codes.h"
+#include "base/logging.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace base {
+
+TEST(KeyCodeFromKeyIdentifierTest, MatchOnIdentifier) {
+ EXPECT_EQ(base::VKEY_APPS, KeyCodeFromKeyIdentifier("Apps"));
+ EXPECT_EQ(base::VKEY_UNKNOWN, KeyCodeFromKeyIdentifier("Nonsense"));
+}
+
+TEST(KeyCodeFromKeyIdentifierTest, MatchOnCharacter) {
+ EXPECT_EQ(base::VKEY_A, KeyCodeFromKeyIdentifier("a"));
+ EXPECT_EQ(base::VKEY_A, KeyCodeFromKeyIdentifier("A"));
+ EXPECT_EQ(base::VKEY_OEM_PERIOD, KeyCodeFromKeyIdentifier(">"));
+
+ std::string non_printing_char(" ");
+ non_printing_char[0] = static_cast<char>(1);
+ EXPECT_EQ(base::VKEY_UNKNOWN, KeyCodeFromKeyIdentifier(non_printing_char));
+}
+
+TEST(KeyCodeFromKeyIdentifierTest, MatchOnUnicodeCodepoint) {
+ EXPECT_EQ(base::VKEY_A, KeyCodeFromKeyIdentifier("U+0041"));
+ EXPECT_EQ(base::VKEY_A, KeyCodeFromKeyIdentifier("U+0061"));
+ EXPECT_EQ(base::VKEY_DELETE, KeyCodeFromKeyIdentifier("U+007F"));
+
+ // this one exists in the map, but has no valid VKEY
+ EXPECT_EQ(base::VKEY_UNKNOWN, KeyCodeFromKeyIdentifier("U+030A"));
+
+ // this one is not in the map
+ EXPECT_EQ(base::VKEY_UNKNOWN, KeyCodeFromKeyIdentifier("U+0001"));
+}
+
+TEST(KeyCodeFromKeyIdentifierTest, DoesNotMatchEmptyString) {
+ EXPECT_EQ(base::VKEY_UNKNOWN, KeyCodeFromKeyIdentifier(""));
+}
+
+} // namespace base