Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(575)

Unified Diff: app/keyboard_code_conversion_unittest.cc

Issue 3354005: Re-lands 58186: (Closed)
Patch Set: Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « app/keyboard_code_conversion_mac.mm ('k') | app/keyboard_code_conversion_win.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: app/keyboard_code_conversion_unittest.cc
diff --git a/app/keyboard_code_conversion_unittest.cc b/app/keyboard_code_conversion_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..0f8d6aff3e7a65d2ca2eeb7f78fcd0f70deb40fa
--- /dev/null
+++ b/app/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 "app/keyboard_code_conversion.h"
+#include "app/keyboard_codes.h"
+#include "base/logging.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace app {
+
+TEST(KeyCodeFromKeyIdentifierTest, MatchOnIdentifier) {
+ EXPECT_EQ(app::VKEY_APPS, KeyCodeFromKeyIdentifier("Apps"));
+ EXPECT_EQ(app::VKEY_UNKNOWN, KeyCodeFromKeyIdentifier("Nonsense"));
+}
+
+TEST(KeyCodeFromKeyIdentifierTest, MatchOnCharacter) {
+ EXPECT_EQ(app::VKEY_A, KeyCodeFromKeyIdentifier("a"));
+ EXPECT_EQ(app::VKEY_A, KeyCodeFromKeyIdentifier("A"));
+ EXPECT_EQ(app::VKEY_OEM_PERIOD, KeyCodeFromKeyIdentifier(">"));
+
+ std::string non_printing_char(" ");
+ non_printing_char[0] = static_cast<char>(1);
+ EXPECT_EQ(app::VKEY_UNKNOWN, KeyCodeFromKeyIdentifier(non_printing_char));
+}
+
+TEST(KeyCodeFromKeyIdentifierTest, MatchOnUnicodeCodepoint) {
+ EXPECT_EQ(app::VKEY_A, KeyCodeFromKeyIdentifier("U+0041"));
+ EXPECT_EQ(app::VKEY_A, KeyCodeFromKeyIdentifier("U+0061"));
+ EXPECT_EQ(app::VKEY_DELETE, KeyCodeFromKeyIdentifier("U+007F"));
+
+ // this one exists in the map, but has no valid VKEY
+ EXPECT_EQ(app::VKEY_UNKNOWN, KeyCodeFromKeyIdentifier("U+030A"));
+
+ // this one is not in the map
+ EXPECT_EQ(app::VKEY_UNKNOWN, KeyCodeFromKeyIdentifier("U+0001"));
+}
+
+TEST(KeyCodeFromKeyIdentifierTest, DoesNotMatchEmptyString) {
+ EXPECT_EQ(app::VKEY_UNKNOWN, KeyCodeFromKeyIdentifier(""));
+}
+
+} // namespace app
« no previous file with comments | « app/keyboard_code_conversion_mac.mm ('k') | app/keyboard_code_conversion_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698