Chromium Code Reviews| 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 affd8dc47159c6d0273660df2bac6fd74e2163d5..e5570f2f0281de4f3d9ab51abf24cc0258e105d6 100644 |
| --- a/ui/views/controls/textfield/textfield_unittest.cc |
| +++ b/ui/views/controls/textfield/textfield_unittest.cc |
| @@ -256,62 +256,6 @@ void MockInputMethod::ClearComposition() { |
| result_text_.clear(); |
| } |
| -// A Textfield wrapper to intercept OnKey[Pressed|Released]() ressults. |
| -class TestTextfield : public views::Textfield { |
| - public: |
| - TestTextfield() |
| - : Textfield(), |
| - key_handled_(false), |
| - key_received_(false), |
| - weak_ptr_factory_(this) {} |
| - |
| - bool OnKeyPressed(const ui::KeyEvent& e) override { |
| - key_received_ = true; |
| - |
| - // Since OnKeyPressed() might destroy |this|, get a weak pointer and |
| - // verify it isn't null before writing the bool value to key_handled_. |
| - base::WeakPtr<TestTextfield> textfield(weak_ptr_factory_.GetWeakPtr()); |
| - bool key = views::Textfield::OnKeyPressed(e); |
| - |
| - if (!textfield) |
| - return key; |
| - |
| - key_handled_ = key; |
| - |
| - return key_handled_; |
| - } |
| - |
| - bool OnKeyReleased(const ui::KeyEvent& e) override { |
| - key_received_ = true; |
| - key_handled_ = views::Textfield::OnKeyReleased(e); |
| - EXPECT_FALSE(key_handled_); // Textfield doesn't override OnKeyReleased. |
| - return key_handled_; |
| - } |
| - |
| - // ui::TextInputClient overrides: |
| - void InsertChar(const ui::KeyEvent& e) override { |
| - views::Textfield::InsertChar(e); |
| -#if defined(OS_MACOSX) |
| - // On Mac, characters are inserted directly rather than attempting to get a |
| - // unicode character from the ui::KeyEvent (which isn't always possible). |
| - key_received_ = true; |
| -#endif |
| - } |
| - |
| - bool key_handled() const { return key_handled_; } |
| - bool key_received() const { return key_received_; } |
| - |
| - void clear() { key_received_ = key_handled_ = false; } |
| - |
| - private: |
| - bool key_handled_; |
| - bool key_received_; |
| - |
| - base::WeakPtrFactory<TestTextfield> weak_ptr_factory_; |
| - |
| - DISALLOW_COPY_AND_ASSIGN(TestTextfield); |
| -}; |
| - |
| // Convenience to make constructing a GestureEvent simpler. |
| class GestureEventForTest : public ui::GestureEvent { |
| public: |
| @@ -360,6 +304,64 @@ void SetClipboardText(ui::ClipboardType type, const std::string& text) { |
| namespace views { |
| +// A Textfield wrapper to intercept OnKey[Pressed|Released]() ressults. |
| +class TestTextfield : public views::Textfield { |
| + public: |
| + TestTextfield() |
| + : Textfield(), |
| + key_handled_(false), |
| + key_received_(false), |
| + weak_ptr_factory_(this) {} |
| + |
| + // ui::TextInputClient overrides: |
| + void InsertChar(const ui::KeyEvent& e) override { |
| + views::Textfield::InsertChar(e); |
| +#if defined(OS_MACOSX) |
| + // On Mac, characters are inserted directly rather than attempting to get a |
| + // unicode character from the ui::KeyEvent (which isn't always possible). |
| + key_received_ = true; |
| +#endif |
| + } |
| + |
| + bool key_handled() const { return key_handled_; } |
| + bool key_received() const { return key_received_; } |
| + |
| + void clear() { key_received_ = key_handled_ = false; } |
| + |
| + private: |
| + bool OnKeyPressed(const ui::KeyEvent& e) override { |
|
msw
2016/08/26 15:19:09
Oh, can these override onkeyevent instead? and the
karandeepb
2016/08/29 09:59:34
Done. Keep forgetting about OnKeyEvent. This also
|
| + key_received_ = true; |
| + |
| + // Since OnKeyPressed() might destroy |this|, get a weak pointer and |
| + // verify it isn't null before writing the bool value to key_handled_. |
| + base::WeakPtr<TestTextfield> textfield(weak_ptr_factory_.GetWeakPtr()); |
| + bool key = views::Textfield::OnKeyPressed(e); |
| + |
| + if (!textfield) |
| + return key; |
| + |
| + key_handled_ = key; |
| + |
| + return key_handled_; |
| + } |
| + |
| + bool OnKeyReleased(const ui::KeyEvent& e) override { |
| + key_received_ = true; |
| + key_handled_ = views::Textfield::OnKeyReleased(e); |
| + |
| + // Currently Textfield::OnKeyReleased always returns false. |
| + EXPECT_FALSE(key_handled_); |
| + return key_handled_; |
| + } |
| + |
| + bool key_handled_; |
| + bool key_received_; |
| + |
| + base::WeakPtrFactory<TestTextfield> weak_ptr_factory_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(TestTextfield); |
| +}; |
| + |
| class TextfieldTest : public ViewsTestBase, public TextfieldController { |
| public: |
| TextfieldTest() |