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

Unified Diff: ui/base/ime/linux/text_edit_command_auralinux_unittest.cc

Issue 2085873002: Add test for TextEditCommandAuraLinux::GetCommandString. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@refactor8_unify_text_edit_commands
Patch Set: -- Created 4 years, 6 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 | « ui/base/ime/linux/text_edit_command_auralinux.cc ('k') | ui/base/ime/text_edit_commands.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/ime/linux/text_edit_command_auralinux_unittest.cc
diff --git a/ui/base/ime/linux/text_edit_command_auralinux_unittest.cc b/ui/base/ime/linux/text_edit_command_auralinux_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..a305598fcae91deea88785b761b403280ae34432
--- /dev/null
+++ b/ui/base/ime/linux/text_edit_command_auralinux_unittest.cc
@@ -0,0 +1,153 @@
+// Copyright 2016 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 "ui/base/ime/linux/text_edit_command_auralinux.h"
+
+#include <map>
+#include <string>
+
+#include "base/macros.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/WebKit/public/platform/WebEditingCommandType.h"
+#include "third_party/WebKit/public/platform/WebEditorCommandNames.h"
+#include "ui/base/ime/text_edit_commands.h"
+
+namespace ui {
+namespace {
+
+const std::map<std::string, blink::WebEditingCommandType> kWebCommandMap = {
+#define V(name) {#name, blink::WebEditingCommandType::name},
+ FOR_EACH_BLINK_EDITING_COMMAND_NAME(V)
+#undef V
+};
+
+// Returns the blink::WebEditingCommandType corresponding to the
+// ui::TextEditCommandAuraLinux |command|. To convert the command string to
+// blink::WebEditingCommandType, we follow logic similar to
+// WebEditingCommandTypeFromCommandName in
+// third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp.
+blink::WebEditingCommandType GetWebEditingCommandFromTextEditCommand(
+ TextEditCommandAuraLinux command) {
+ auto it = kWebCommandMap.find(command.GetCommandString());
+ return it != kWebCommandMap.end() ? it->second
+ : blink::WebEditingCommandType::Invalid;
+}
+
+// Test that TextEditCommandAuraLinux::GetCommandString sends the appropriate
+// string to the renderer.
+TEST(TextEditCommandAuraLinuxTest, GetCommandString) {
+ struct {
+ TextEditCommand text_edit_command;
+ blink::WebEditingCommandType web_editing_command;
+ } cases[] = {
+ {TextEditCommand::DELETE_BACKWARD,
+ blink::WebEditingCommandType::DeleteBackward},
+ {TextEditCommand::DELETE_FORWARD,
+ blink::WebEditingCommandType::DeleteForward},
+ {TextEditCommand::DELETE_TO_BEGINNING_OF_LINE,
+ blink::WebEditingCommandType::DeleteToBeginningOfLine},
+ {TextEditCommand::DELETE_TO_BEGINNING_OF_PARAGRAPH,
+ blink::WebEditingCommandType::DeleteToBeginningOfParagraph},
+ {TextEditCommand::DELETE_TO_END_OF_LINE,
+ blink::WebEditingCommandType::DeleteToEndOfLine},
+ {TextEditCommand::DELETE_TO_END_OF_PARAGRAPH,
+ blink::WebEditingCommandType::DeleteToEndOfParagraph},
+ {TextEditCommand::DELETE_WORD_BACKWARD,
+ blink::WebEditingCommandType::DeleteWordBackward},
+ {TextEditCommand::DELETE_WORD_FORWARD,
+ blink::WebEditingCommandType::DeleteWordForward},
+ {TextEditCommand::MOVE_BACKWARD,
+ blink::WebEditingCommandType::MoveBackward},
+ {TextEditCommand::MOVE_BACKWARD_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveBackwardAndModifySelection},
+ {TextEditCommand::MOVE_DOWN, blink::WebEditingCommandType::MoveDown},
+ {TextEditCommand::MOVE_DOWN_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveDownAndModifySelection},
+ {TextEditCommand::MOVE_FORWARD,
+ blink::WebEditingCommandType::MoveForward},
+ {TextEditCommand::MOVE_FORWARD_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveForwardAndModifySelection},
+ {TextEditCommand::MOVE_LEFT, blink::WebEditingCommandType::MoveLeft},
+ {TextEditCommand::MOVE_LEFT_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveLeftAndModifySelection},
+ {TextEditCommand::MOVE_PAGE_DOWN,
+ blink::WebEditingCommandType::MovePageDown},
+ {TextEditCommand::MOVE_PAGE_DOWN_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MovePageDownAndModifySelection},
+ {TextEditCommand::MOVE_PAGE_UP, blink::WebEditingCommandType::MovePageUp},
+ {TextEditCommand::MOVE_PAGE_UP_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MovePageUpAndModifySelection},
+ {TextEditCommand::MOVE_RIGHT, blink::WebEditingCommandType::MoveRight},
+ {TextEditCommand::MOVE_RIGHT_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveRightAndModifySelection},
+ {TextEditCommand::MOVE_TO_BEGINNING_OF_DOCUMENT,
+ blink::WebEditingCommandType::MoveToBeginningOfDocument},
+ {TextEditCommand::MOVE_TO_BEGINNING_OF_DOCUMENT_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::
+ MoveToBeginningOfDocumentAndModifySelection},
+ {TextEditCommand::MOVE_TO_BEGINNING_OF_LINE,
+ blink::WebEditingCommandType::MoveToBeginningOfLine},
+ {TextEditCommand::MOVE_TO_BEGINNING_OF_LINE_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveToBeginningOfLineAndModifySelection},
+ {TextEditCommand::MOVE_TO_BEGINNING_OF_PARAGRAPH,
+ blink::WebEditingCommandType::MoveToBeginningOfParagraph},
+ {TextEditCommand::MOVE_TO_BEGINNING_OF_PARAGRAPH_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::
+ MoveToBeginningOfParagraphAndModifySelection},
+ {TextEditCommand::MOVE_TO_END_OF_DOCUMENT,
+ blink::WebEditingCommandType::MoveToEndOfDocument},
+ {TextEditCommand::MOVE_TO_END_OF_DOCUMENT_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveToEndOfDocumentAndModifySelection},
+ {TextEditCommand::MOVE_TO_END_OF_LINE,
+ blink::WebEditingCommandType::MoveToEndOfLine},
+ {TextEditCommand::MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveToEndOfLineAndModifySelection},
+ {TextEditCommand::MOVE_TO_END_OF_PARAGRAPH,
+ blink::WebEditingCommandType::MoveToEndOfParagraph},
+ {TextEditCommand::MOVE_TO_END_OF_PARAGRAPH_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveToEndOfParagraphAndModifySelection},
+ {TextEditCommand::MOVE_UP, blink::WebEditingCommandType::MoveUp},
+ {TextEditCommand::MOVE_UP_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveUpAndModifySelection},
+ {TextEditCommand::MOVE_WORD_BACKWARD,
+ blink::WebEditingCommandType::MoveWordBackward},
+ {TextEditCommand::MOVE_WORD_BACKWARD_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveWordBackwardAndModifySelection},
+ {TextEditCommand::MOVE_WORD_FORWARD,
+ blink::WebEditingCommandType::MoveWordForward},
+ {TextEditCommand::MOVE_WORD_FORWARD_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveWordForwardAndModifySelection},
+ {TextEditCommand::MOVE_WORD_LEFT,
+ blink::WebEditingCommandType::MoveWordLeft},
+ {TextEditCommand::MOVE_WORD_LEFT_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveWordLeftAndModifySelection},
+ {TextEditCommand::MOVE_WORD_RIGHT,
+ blink::WebEditingCommandType::MoveWordRight},
+ {TextEditCommand::MOVE_WORD_RIGHT_AND_MODIFY_SELECTION,
+ blink::WebEditingCommandType::MoveWordRightAndModifySelection},
+ {TextEditCommand::UNDO, blink::WebEditingCommandType::Undo},
+ {TextEditCommand::REDO, blink::WebEditingCommandType::Redo},
+ {TextEditCommand::CUT, blink::WebEditingCommandType::Cut},
+ {TextEditCommand::COPY, blink::WebEditingCommandType::Copy},
+ {TextEditCommand::PASTE, blink::WebEditingCommandType::Paste},
+ {TextEditCommand::SELECT_ALL, blink::WebEditingCommandType::SelectAll},
+ {TextEditCommand::INSERT_TEXT, blink::WebEditingCommandType::InsertText},
+ {TextEditCommand::SET_MARK, blink::WebEditingCommandType::SetMark},
+ {TextEditCommand::UNSELECT, blink::WebEditingCommandType::Unselect},
+ };
+
+ // Ensure we cover all TextEditCommand values except INVALID_COMMAND.
+ EXPECT_EQ(static_cast<size_t>(TextEditCommand::NUMBER_OF_COMMANDS),
+ arraysize(cases) + 1);
+
+ for (size_t i = 0; i < arraysize(cases); i++) {
+ // Wrap TextEditCommand in TextEditCommandAuraLinux.
+ TextEditCommandAuraLinux command(cases[i].text_edit_command, "");
+ EXPECT_EQ(cases[i].web_editing_command,
+ GetWebEditingCommandFromTextEditCommand(command));
+ }
+}
+
+} // namespace
+} // namespace ui
« no previous file with comments | « ui/base/ime/linux/text_edit_command_auralinux.cc ('k') | ui/base/ime/text_edit_commands.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698