Index: views/controls/textfield/native_textfield_views_unittest.cc |
diff --git a/views/controls/textfield/native_textfield_views_unittest.cc b/views/controls/textfield/native_textfield_views_unittest.cc |
index d8bffbe7a909a71138dcf0fce3f52d8e994081ed..382486881dda8cfd5db951d5490a9917ba046b66 100644 |
--- a/views/controls/textfield/native_textfield_views_unittest.cc |
+++ b/views/controls/textfield/native_textfield_views_unittest.cc |
@@ -104,6 +104,10 @@ class NativeTextfieldViewsTest : public ViewsTestBase, |
return textfield_view_->context_menu_menu_.get(); |
} |
+ NativeTextfieldViews::ClickState GetClickState() { |
+ return textfield_view_->click_state_; |
+ } |
+ |
protected: |
bool SendKeyEventToTextfieldViews(ui::KeyboardCode key_code, |
bool shift, |
@@ -428,6 +432,31 @@ TEST_F(NativeTextfieldViewsTest, ContextMenuDisplayTest) { |
VerifyTextfieldContextMenuContents(true, GetContextMenu()->model()); |
} |
+TEST_F(NativeTextfieldViewsTest, DoubleAndTripleClickTest) { |
+ InitTextfield(Textfield::STYLE_DEFAULT); |
+ textfield_->SetText(ASCIIToUTF16("hello world")); |
+ MouseEvent me(MouseEvent::ET_MOUSE_PRESSED, 0, 0, Event::EF_LEFT_BUTTON_DOWN); |
+ EXPECT_EQ(NativeTextfieldViews::NONE, GetClickState()); |
+ |
+ // Test for double click. |
+ textfield_view_->OnMousePressed(me); |
+ EXPECT_STR_EQ("", textfield_->GetSelectedText()); |
+ EXPECT_EQ(NativeTextfieldViews::TRACKING_DOUBLE_CLICK, GetClickState()); |
+ textfield_view_->OnMousePressed(me); |
+ EXPECT_STR_EQ("hello", textfield_->GetSelectedText()); |
+ EXPECT_EQ(NativeTextfieldViews::TRACKING_TRIPLE_CLICK, GetClickState()); |
+ |
+ // Test for triple click. |
+ textfield_view_->OnMousePressed(me); |
+ EXPECT_STR_EQ("hello world", textfield_->GetSelectedText()); |
+ EXPECT_EQ(NativeTextfieldViews::NONE, GetClickState()); |
+ |
+ // Another click should reset back to single click. |
+ textfield_view_->OnMousePressed(me); |
+ EXPECT_STR_EQ("", textfield_->GetSelectedText()); |
+ EXPECT_EQ(NativeTextfieldViews::TRACKING_DOUBLE_CLICK, GetClickState()); |
+} |
+ |
TEST_F(NativeTextfieldViewsTest, ReadOnlyTest) { |
scoped_ptr<TestViewsDelegate> test_views_delegate(new TestViewsDelegate()); |
AutoReset<views::ViewsDelegate*> auto_reset( |