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

Side by Side 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 unified diff | 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 »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2016 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 #include "ui/base/ime/linux/text_edit_command_auralinux.h"
6
7 #include <map>
8 #include <string>
9
10 #include "base/macros.h"
11 #include "testing/gtest/include/gtest/gtest.h"
12 #include "third_party/WebKit/public/platform/WebEditingCommandType.h"
13 #include "third_party/WebKit/public/platform/WebEditorCommandNames.h"
14 #include "ui/base/ime/text_edit_commands.h"
15
16 namespace ui {
17 namespace {
18
19 const std::map<std::string, blink::WebEditingCommandType> kWebCommandMap = {
20 #define V(name) {#name, blink::WebEditingCommandType::name},
21 FOR_EACH_BLINK_EDITING_COMMAND_NAME(V)
22 #undef V
23 };
24
25 // Returns the blink::WebEditingCommandType corresponding to the
26 // ui::TextEditCommandAuraLinux |command|. To convert the command string to
27 // blink::WebEditingCommandType, we follow logic similar to
28 // WebEditingCommandTypeFromCommandName in
29 // third_party/WebKit/Source/core/editing/commands/EditorCommand.cpp.
30 blink::WebEditingCommandType GetWebEditingCommandFromTextEditCommand(
31 TextEditCommandAuraLinux command) {
32 auto it = kWebCommandMap.find(command.GetCommandString());
33 return it != kWebCommandMap.end() ? it->second
34 : blink::WebEditingCommandType::Invalid;
35 }
36
37 // Test that TextEditCommandAuraLinux::GetCommandString sends the appropriate
38 // string to the renderer.
39 TEST(TextEditCommandAuraLinuxTest, GetCommandString) {
40 struct {
41 TextEditCommand text_edit_command;
42 blink::WebEditingCommandType web_editing_command;
43 } cases[] = {
44 {TextEditCommand::DELETE_BACKWARD,
45 blink::WebEditingCommandType::DeleteBackward},
46 {TextEditCommand::DELETE_FORWARD,
47 blink::WebEditingCommandType::DeleteForward},
48 {TextEditCommand::DELETE_TO_BEGINNING_OF_LINE,
49 blink::WebEditingCommandType::DeleteToBeginningOfLine},
50 {TextEditCommand::DELETE_TO_BEGINNING_OF_PARAGRAPH,
51 blink::WebEditingCommandType::DeleteToBeginningOfParagraph},
52 {TextEditCommand::DELETE_TO_END_OF_LINE,
53 blink::WebEditingCommandType::DeleteToEndOfLine},
54 {TextEditCommand::DELETE_TO_END_OF_PARAGRAPH,
55 blink::WebEditingCommandType::DeleteToEndOfParagraph},
56 {TextEditCommand::DELETE_WORD_BACKWARD,
57 blink::WebEditingCommandType::DeleteWordBackward},
58 {TextEditCommand::DELETE_WORD_FORWARD,
59 blink::WebEditingCommandType::DeleteWordForward},
60 {TextEditCommand::MOVE_BACKWARD,
61 blink::WebEditingCommandType::MoveBackward},
62 {TextEditCommand::MOVE_BACKWARD_AND_MODIFY_SELECTION,
63 blink::WebEditingCommandType::MoveBackwardAndModifySelection},
64 {TextEditCommand::MOVE_DOWN, blink::WebEditingCommandType::MoveDown},
65 {TextEditCommand::MOVE_DOWN_AND_MODIFY_SELECTION,
66 blink::WebEditingCommandType::MoveDownAndModifySelection},
67 {TextEditCommand::MOVE_FORWARD,
68 blink::WebEditingCommandType::MoveForward},
69 {TextEditCommand::MOVE_FORWARD_AND_MODIFY_SELECTION,
70 blink::WebEditingCommandType::MoveForwardAndModifySelection},
71 {TextEditCommand::MOVE_LEFT, blink::WebEditingCommandType::MoveLeft},
72 {TextEditCommand::MOVE_LEFT_AND_MODIFY_SELECTION,
73 blink::WebEditingCommandType::MoveLeftAndModifySelection},
74 {TextEditCommand::MOVE_PAGE_DOWN,
75 blink::WebEditingCommandType::MovePageDown},
76 {TextEditCommand::MOVE_PAGE_DOWN_AND_MODIFY_SELECTION,
77 blink::WebEditingCommandType::MovePageDownAndModifySelection},
78 {TextEditCommand::MOVE_PAGE_UP, blink::WebEditingCommandType::MovePageUp},
79 {TextEditCommand::MOVE_PAGE_UP_AND_MODIFY_SELECTION,
80 blink::WebEditingCommandType::MovePageUpAndModifySelection},
81 {TextEditCommand::MOVE_RIGHT, blink::WebEditingCommandType::MoveRight},
82 {TextEditCommand::MOVE_RIGHT_AND_MODIFY_SELECTION,
83 blink::WebEditingCommandType::MoveRightAndModifySelection},
84 {TextEditCommand::MOVE_TO_BEGINNING_OF_DOCUMENT,
85 blink::WebEditingCommandType::MoveToBeginningOfDocument},
86 {TextEditCommand::MOVE_TO_BEGINNING_OF_DOCUMENT_AND_MODIFY_SELECTION,
87 blink::WebEditingCommandType::
88 MoveToBeginningOfDocumentAndModifySelection},
89 {TextEditCommand::MOVE_TO_BEGINNING_OF_LINE,
90 blink::WebEditingCommandType::MoveToBeginningOfLine},
91 {TextEditCommand::MOVE_TO_BEGINNING_OF_LINE_AND_MODIFY_SELECTION,
92 blink::WebEditingCommandType::MoveToBeginningOfLineAndModifySelection},
93 {TextEditCommand::MOVE_TO_BEGINNING_OF_PARAGRAPH,
94 blink::WebEditingCommandType::MoveToBeginningOfParagraph},
95 {TextEditCommand::MOVE_TO_BEGINNING_OF_PARAGRAPH_AND_MODIFY_SELECTION,
96 blink::WebEditingCommandType::
97 MoveToBeginningOfParagraphAndModifySelection},
98 {TextEditCommand::MOVE_TO_END_OF_DOCUMENT,
99 blink::WebEditingCommandType::MoveToEndOfDocument},
100 {TextEditCommand::MOVE_TO_END_OF_DOCUMENT_AND_MODIFY_SELECTION,
101 blink::WebEditingCommandType::MoveToEndOfDocumentAndModifySelection},
102 {TextEditCommand::MOVE_TO_END_OF_LINE,
103 blink::WebEditingCommandType::MoveToEndOfLine},
104 {TextEditCommand::MOVE_TO_END_OF_LINE_AND_MODIFY_SELECTION,
105 blink::WebEditingCommandType::MoveToEndOfLineAndModifySelection},
106 {TextEditCommand::MOVE_TO_END_OF_PARAGRAPH,
107 blink::WebEditingCommandType::MoveToEndOfParagraph},
108 {TextEditCommand::MOVE_TO_END_OF_PARAGRAPH_AND_MODIFY_SELECTION,
109 blink::WebEditingCommandType::MoveToEndOfParagraphAndModifySelection},
110 {TextEditCommand::MOVE_UP, blink::WebEditingCommandType::MoveUp},
111 {TextEditCommand::MOVE_UP_AND_MODIFY_SELECTION,
112 blink::WebEditingCommandType::MoveUpAndModifySelection},
113 {TextEditCommand::MOVE_WORD_BACKWARD,
114 blink::WebEditingCommandType::MoveWordBackward},
115 {TextEditCommand::MOVE_WORD_BACKWARD_AND_MODIFY_SELECTION,
116 blink::WebEditingCommandType::MoveWordBackwardAndModifySelection},
117 {TextEditCommand::MOVE_WORD_FORWARD,
118 blink::WebEditingCommandType::MoveWordForward},
119 {TextEditCommand::MOVE_WORD_FORWARD_AND_MODIFY_SELECTION,
120 blink::WebEditingCommandType::MoveWordForwardAndModifySelection},
121 {TextEditCommand::MOVE_WORD_LEFT,
122 blink::WebEditingCommandType::MoveWordLeft},
123 {TextEditCommand::MOVE_WORD_LEFT_AND_MODIFY_SELECTION,
124 blink::WebEditingCommandType::MoveWordLeftAndModifySelection},
125 {TextEditCommand::MOVE_WORD_RIGHT,
126 blink::WebEditingCommandType::MoveWordRight},
127 {TextEditCommand::MOVE_WORD_RIGHT_AND_MODIFY_SELECTION,
128 blink::WebEditingCommandType::MoveWordRightAndModifySelection},
129 {TextEditCommand::UNDO, blink::WebEditingCommandType::Undo},
130 {TextEditCommand::REDO, blink::WebEditingCommandType::Redo},
131 {TextEditCommand::CUT, blink::WebEditingCommandType::Cut},
132 {TextEditCommand::COPY, blink::WebEditingCommandType::Copy},
133 {TextEditCommand::PASTE, blink::WebEditingCommandType::Paste},
134 {TextEditCommand::SELECT_ALL, blink::WebEditingCommandType::SelectAll},
135 {TextEditCommand::INSERT_TEXT, blink::WebEditingCommandType::InsertText},
136 {TextEditCommand::SET_MARK, blink::WebEditingCommandType::SetMark},
137 {TextEditCommand::UNSELECT, blink::WebEditingCommandType::Unselect},
138 };
139
140 // Ensure we cover all TextEditCommand values except INVALID_COMMAND.
141 EXPECT_EQ(static_cast<size_t>(TextEditCommand::NUMBER_OF_COMMANDS),
142 arraysize(cases) + 1);
143
144 for (size_t i = 0; i < arraysize(cases); i++) {
145 // Wrap TextEditCommand in TextEditCommandAuraLinux.
146 TextEditCommandAuraLinux command(cases[i].text_edit_command, "");
147 EXPECT_EQ(cases[i].web_editing_command,
148 GetWebEditingCommandFromTextEditCommand(command));
149 }
150 }
151
152 } // namespace
153 } // namespace ui
OLDNEW
« 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