| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/views/controls/textfield/textfield.h" | 5 #include "ui/views/controls/textfield/textfield.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 1938 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1949 EXPECT_STR_EQ("0123", GetClipboardText(ui::CLIPBOARD_TYPE_SELECTION)); | 1949 EXPECT_STR_EQ("0123", GetClipboardText(ui::CLIPBOARD_TYPE_SELECTION)); |
| 1950 EXPECT_EQ(ui::CLIPBOARD_TYPE_SELECTION, GetAndResetCopiedToClipboard()); | 1950 EXPECT_EQ(ui::CLIPBOARD_TYPE_SELECTION, GetAndResetCopiedToClipboard()); |
| 1951 | 1951 |
| 1952 // Moving the cursor without a selection should not change the clipboard. | 1952 // Moving the cursor without a selection should not change the clipboard. |
| 1953 SendKeyEvent(ui::VKEY_LEFT, false, false); | 1953 SendKeyEvent(ui::VKEY_LEFT, false, false); |
| 1954 EXPECT_EQ(gfx::Range(0, 0), textfield_->GetSelectedRange()); | 1954 EXPECT_EQ(gfx::Range(0, 0), textfield_->GetSelectedRange()); |
| 1955 EXPECT_STR_EQ("0123", GetClipboardText(ui::CLIPBOARD_TYPE_SELECTION)); | 1955 EXPECT_STR_EQ("0123", GetClipboardText(ui::CLIPBOARD_TYPE_SELECTION)); |
| 1956 EXPECT_EQ(ui::CLIPBOARD_TYPE_LAST, GetAndResetCopiedToClipboard()); | 1956 EXPECT_EQ(ui::CLIPBOARD_TYPE_LAST, GetAndResetCopiedToClipboard()); |
| 1957 | 1957 |
| 1958 // Middle clicking should paste at the mouse (not cursor) location. | 1958 // Middle clicking should paste at the mouse (not cursor) location. |
| 1959 // The cursor should be placed at the end of the pasted text. |
| 1959 ui::MouseEvent middle(ui::ET_MOUSE_PRESSED, point_4, point_4, | 1960 ui::MouseEvent middle(ui::ET_MOUSE_PRESSED, point_4, point_4, |
| 1960 ui::EF_MIDDLE_MOUSE_BUTTON, ui::EF_MIDDLE_MOUSE_BUTTON); | 1961 ui::EF_MIDDLE_MOUSE_BUTTON, ui::EF_MIDDLE_MOUSE_BUTTON); |
| 1961 textfield_->OnMousePressed(middle); | 1962 textfield_->OnMousePressed(middle); |
| 1962 EXPECT_STR_EQ("01230123", textfield_->text()); | 1963 EXPECT_STR_EQ("01230123", textfield_->text()); |
| 1963 EXPECT_EQ(gfx::Range(0, 0), textfield_->GetSelectedRange()); | 1964 EXPECT_EQ(gfx::Range(8, 8), textfield_->GetSelectedRange()); |
| 1964 EXPECT_STR_EQ("0123", GetClipboardText(ui::CLIPBOARD_TYPE_SELECTION)); | 1965 EXPECT_STR_EQ("0123", GetClipboardText(ui::CLIPBOARD_TYPE_SELECTION)); |
| 1965 | 1966 |
| 1966 // Middle click pasting should adjust trailing cursors. | 1967 // Middle clicking on an unfocused textfield should focus it and paste. |
| 1967 textfield_->SelectRange(gfx::Range(5, 5)); | 1968 textfield_->GetFocusManager()->ClearFocus(); |
| 1969 EXPECT_FALSE(textfield_->HasFocus()); |
| 1970 textfield_->OnMousePressed(middle); |
| 1971 EXPECT_TRUE(textfield_->HasFocus()); |
| 1972 EXPECT_STR_EQ("012301230123", textfield_->text()); |
| 1973 EXPECT_EQ(gfx::Range(8, 8), textfield_->GetSelectedRange()); |
| 1974 EXPECT_STR_EQ("0123", GetClipboardText(ui::CLIPBOARD_TYPE_SELECTION)); |
| 1975 |
| 1976 // Middle clicking with an empty selection clipboard should still focus. |
| 1977 SetClipboardText(ui::CLIPBOARD_TYPE_COPY_PASTE, std::string()); |
| 1978 textfield_->GetFocusManager()->ClearFocus(); |
| 1979 EXPECT_FALSE(textfield_->HasFocus()); |
| 1980 textfield_->OnMousePressed(middle); |
| 1981 EXPECT_TRUE(textfield_->HasFocus()); |
| 1982 EXPECT_STR_EQ("012301230123", textfield_->text()); |
| 1983 EXPECT_EQ(gfx::Range(4, 4), textfield_->GetSelectedRange()); |
| 1984 EXPECT_TRUE(GetClipboardText(ui::CLIPBOARD_TYPE_SELECTION).empty()); |
| 1985 |
| 1986 // Middle clicking in the selection should clear the clipboard and selection. |
| 1987 SetClipboardText(ui::CLIPBOARD_TYPE_COPY_PASTE, "foo"); |
| 1988 textfield_->SelectRange(gfx::Range(2, 6)); |
| 1968 textfield_->OnMousePressed(middle); | 1989 textfield_->OnMousePressed(middle); |
| 1969 EXPECT_STR_EQ("012301230123", textfield_->text()); | 1990 EXPECT_STR_EQ("012301230123", textfield_->text()); |
| 1970 EXPECT_EQ(gfx::Range(9, 9), textfield_->GetSelectedRange()); | |
| 1971 | |
| 1972 // Middle click pasting should adjust trailing selections. | |
| 1973 textfield_->SelectRange(gfx::Range(7, 9)); | |
| 1974 textfield_->OnMousePressed(middle); | |
| 1975 EXPECT_STR_EQ("0123012301230123", textfield_->text()); | |
| 1976 EXPECT_EQ(gfx::Range(11, 13), textfield_->GetSelectedRange()); | |
| 1977 | |
| 1978 // Middle clicking in the selection should clear the clipboard and selection. | |
| 1979 textfield_->SelectRange(gfx::Range(2, 6)); | |
| 1980 textfield_->OnMousePressed(middle); | |
| 1981 EXPECT_STR_EQ("0123012301230123", textfield_->text()); | |
| 1982 EXPECT_EQ(gfx::Range(6, 6), textfield_->GetSelectedRange()); | 1991 EXPECT_EQ(gfx::Range(6, 6), textfield_->GetSelectedRange()); |
| 1983 EXPECT_TRUE(GetClipboardText(ui::CLIPBOARD_TYPE_SELECTION).empty()); | 1992 EXPECT_TRUE(GetClipboardText(ui::CLIPBOARD_TYPE_SELECTION).empty()); |
| 1984 | 1993 |
| 1985 // Double and triple clicking should update the clipboard contents. | 1994 // Double and triple clicking should update the clipboard contents. |
| 1986 textfield_->SetText(ASCIIToUTF16("ab cd ef")); | 1995 textfield_->SetText(ASCIIToUTF16("ab cd ef")); |
| 1987 gfx::Point word(GetCursorPositionX(4), 0); | 1996 gfx::Point word(GetCursorPositionX(4), 0); |
| 1988 ui::MouseEvent press_word(ui::ET_MOUSE_PRESSED, word, word, | 1997 ui::MouseEvent press_word(ui::ET_MOUSE_PRESSED, word, word, |
| 1989 ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON); | 1998 ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON); |
| 1990 textfield_->OnMousePressed(press_word); | 1999 textfield_->OnMousePressed(press_word); |
| 1991 ui::MouseEvent release_word(ui::ET_MOUSE_RELEASED, word, word, | 2000 ui::MouseEvent release_word(ui::ET_MOUSE_RELEASED, word, word, |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2228 | 2237 |
| 2229 textfield_->SetTextInputType(ui::TEXT_INPUT_TYPE_PASSWORD); | 2238 textfield_->SetTextInputType(ui::TEXT_INPUT_TYPE_PASSWORD); |
| 2230 ui::AXViewState state_protected; | 2239 ui::AXViewState state_protected; |
| 2231 textfield_->GetAccessibleState(&state_protected); | 2240 textfield_->GetAccessibleState(&state_protected); |
| 2232 EXPECT_EQ(ui::AX_ROLE_TEXT_FIELD, state_protected.role); | 2241 EXPECT_EQ(ui::AX_ROLE_TEXT_FIELD, state_protected.role); |
| 2233 EXPECT_EQ(ASCIIToUTF16("********"), state_protected.value); | 2242 EXPECT_EQ(ASCIIToUTF16("********"), state_protected.value); |
| 2234 EXPECT_TRUE(state_protected.HasStateFlag(ui::AX_STATE_PROTECTED)); | 2243 EXPECT_TRUE(state_protected.HasStateFlag(ui::AX_STATE_PROTECTED)); |
| 2235 } | 2244 } |
| 2236 | 2245 |
| 2237 } // namespace views | 2246 } // namespace views |
| OLD | NEW |