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

Unified Diff: ui/views/controls/textfield/textfield_unittest.cc

Issue 2580293003: MacViews: Select word under cursor on right click. (Closed)
Patch Set: Reorder function. Created 4 years 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 | « no previous file | ui/views/selection_controller.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/textfield/textfield_unittest.cc
diff --git a/ui/views/controls/textfield/textfield_unittest.cc b/ui/views/controls/textfield/textfield_unittest.cc
index b27b90e41a3c9beb95f90336a69129a3b250adbd..5a20610cf31a611cb412086bce60431dd605043c 100644
--- a/ui/views/controls/textfield/textfield_unittest.cc
+++ b/ui/views/controls/textfield/textfield_unittest.cc
@@ -654,31 +654,36 @@ class TextfieldTest : public ViewsTestBase, public TextfieldController {
EXPECT_TRUE(menu->IsEnabledAt(7 /* SELECT ALL */));
}
- void PressLeftMouseButton(int extra_flags) {
- ui::MouseEvent click(ui::ET_MOUSE_PRESSED, mouse_position_, mouse_position_,
- ui::EventTimeForNow(), ui::EF_LEFT_MOUSE_BUTTON,
- ui::EF_LEFT_MOUSE_BUTTON | extra_flags);
- textfield_->OnMousePressed(click);
- }
-
- void PressLeftMouseButton() {
- PressLeftMouseButton(0);
+ void PressMouseButton(ui::EventFlags mouse_button_flags, int extra_flags) {
+ ui::MouseEvent press(ui::ET_MOUSE_PRESSED, mouse_position_, mouse_position_,
+ ui::EventTimeForNow(), mouse_button_flags,
+ mouse_button_flags | extra_flags);
+ textfield_->OnMousePressed(press);
}
- void ReleaseLeftMouseButton() {
+ void ReleaseMouseButton(ui::EventFlags mouse_button_flags) {
ui::MouseEvent release(ui::ET_MOUSE_RELEASED, mouse_position_,
mouse_position_, ui::EventTimeForNow(),
- ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON);
+ mouse_button_flags, mouse_button_flags);
textfield_->OnMouseReleased(release);
}
- void ClickLeftMouseButton(int extra_flags) {
+ void PressLeftMouseButton(int extra_flags = 0) {
+ PressMouseButton(ui::EF_LEFT_MOUSE_BUTTON, extra_flags);
+ }
+
+ void ReleaseLeftMouseButton() {
+ ReleaseMouseButton(ui::EF_LEFT_MOUSE_BUTTON);
+ }
+
+ void ClickLeftMouseButton(int extra_flags = 0) {
PressLeftMouseButton(extra_flags);
ReleaseLeftMouseButton();
}
- void ClickLeftMouseButton() {
- ClickLeftMouseButton(0);
+ void ClickRightMouseButton() {
+ PressMouseButton(ui::EF_RIGHT_MOUSE_BUTTON, 0);
+ ReleaseMouseButton(ui::EF_RIGHT_MOUSE_BUTTON);
}
void DragMouseTo(const gfx::Point& where) {
@@ -1453,6 +1458,27 @@ TEST_F(TextfieldTest, DoubleAndTripleClickTest) {
EXPECT_STR_EQ("hello", textfield_->GetSelectedText());
}
+// Tests text selection behavior on a right click.
+TEST_F(TextfieldTest, SelectWordOnRightClick) {
+ InitTextfield();
+ textfield_->SetText(ASCIIToUTF16("hello world"));
+
+ // Verify right clicking within the selection does not alter the selection.
+ textfield_->SelectRange(gfx::Range(1, 5));
+ EXPECT_STR_EQ("ello", textfield_->GetSelectedText());
+ MoveMouseTo(gfx::Point(GetCursorPositionX(3), 0));
+ ClickRightMouseButton();
+ EXPECT_STR_EQ("ello", textfield_->GetSelectedText());
+
+ // Verify right clicking outside the selection, selects the word under the
+ // cursor on platforms where this is expected.
+ MoveMouseTo(gfx::Point(GetCursorPositionX(8), 0));
+ const char* expected_right_click =
+ PlatformStyle::kSelectWordOnRightClick ? "world" : "ello";
+ ClickRightMouseButton();
+ EXPECT_STR_EQ(expected_right_click, textfield_->GetSelectedText());
+}
+
TEST_F(TextfieldTest, DragToSelect) {
InitTextfield();
textfield_->SetText(ASCIIToUTF16("hello world"));
« no previous file with comments | « no previous file | ui/views/selection_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698