| Index: ui/touch_selection/touch_selection_controller_unittest.cc
|
| diff --git a/ui/touch_selection/touch_selection_controller_unittest.cc b/ui/touch_selection/touch_selection_controller_unittest.cc
|
| index cf585c972525910cb215392022cce28888dd2ebb..adb09c7bc4901084cb58311d6688e5de92358992 100644
|
| --- a/ui/touch_selection/touch_selection_controller_unittest.cc
|
| +++ b/ui/touch_selection/touch_selection_controller_unittest.cc
|
| @@ -253,13 +253,14 @@ TEST_F(TouchSelectionControllerTest, InsertionBasic) {
|
| gfx::RectF insertion_rect(5, 5, 0, 10);
|
| bool visible = true;
|
|
|
| - // Insertion events are ignored until automatic showing is enabled.
|
| + // Insertion handles are not shown until automatic showing is enabled.
|
| ChangeInsertion(insertion_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), IsEmpty());
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_ESTABLISHED));
|
| EXPECT_EQ(gfx::PointF(), GetLastEventStart());
|
| OnTapEvent();
|
|
|
| - // Insertion events are ignored until the selection region is marked editable.
|
| + // Insertion handles are not shown until the selection region is
|
| + // marked editable.
|
| ChangeInsertion(insertion_rect, visible);
|
| EXPECT_THAT(GetAndResetEvents(), IsEmpty());
|
| EXPECT_EQ(gfx::PointF(), GetLastEventStart());
|
| @@ -267,21 +268,22 @@ TEST_F(TouchSelectionControllerTest, InsertionBasic) {
|
| OnTapEvent();
|
| controller().OnSelectionEditable(true);
|
| ChangeInsertion(insertion_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_SHOWN));
|
| EXPECT_EQ(insertion_rect.bottom_left(), GetLastEventStart());
|
|
|
| insertion_rect.Offset(1, 0);
|
| ChangeInsertion(insertion_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_MOVED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_MOVED));
|
| EXPECT_EQ(insertion_rect.bottom_left(), GetLastEventStart());
|
|
|
| insertion_rect.Offset(0, 1);
|
| ChangeInsertion(insertion_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_MOVED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_MOVED));
|
| EXPECT_EQ(insertion_rect.bottom_left(), GetLastEventStart());
|
|
|
| ClearInsertion();
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_CLEARED));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_DISSOLVED, INSERTION_HANDLE_CLEARED));
|
| }
|
|
|
| TEST_F(TouchSelectionControllerTest, InsertionClearedWhenNoLongerEditable) {
|
| @@ -291,11 +293,12 @@ TEST_F(TouchSelectionControllerTest, InsertionClearedWhenNoLongerEditable) {
|
| controller().OnSelectionEditable(true);
|
|
|
| ChangeInsertion(insertion_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, INSERTION_HANDLE_SHOWN));
|
| EXPECT_EQ(insertion_rect.bottom_left(), GetLastEventStart());
|
|
|
| controller().OnSelectionEditable(false);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_CLEARED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_CLEARED));
|
| }
|
|
|
| TEST_F(TouchSelectionControllerTest, InsertionWithNoShowOnTapForEmptyEditable) {
|
| @@ -314,24 +317,25 @@ TEST_F(TouchSelectionControllerTest, InsertionWithNoShowOnTapForEmptyEditable) {
|
| OnTapEvent();
|
| controller().OnSelectionEmpty(false);
|
| ChangeInsertion(insertion_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, INSERTION_HANDLE_SHOWN));
|
| EXPECT_EQ(insertion_rect.bottom_left(), GetLastEventStart());
|
|
|
| // Reset the selection.
|
| controller().HideAndDisallowShowingAutomatically();
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_CLEARED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_CLEARED));
|
|
|
| // Long-pressing should show the handle even if the editable region is empty.
|
| insertion_rect.Offset(2, -2);
|
| OnLongPressEvent();
|
| controller().OnSelectionEmpty(true);
|
| ChangeInsertion(insertion_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_SHOWN));
|
| EXPECT_EQ(insertion_rect.bottom_left(), GetLastEventStart());
|
|
|
| // Single Tap on an empty edit field should clear insertion handle.
|
| OnTapEvent();
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_CLEARED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_CLEARED));
|
| }
|
|
|
| TEST_F(TouchSelectionControllerTest, InsertionWithShowOnTapForEmptyEditable) {
|
| @@ -346,7 +350,8 @@ TEST_F(TouchSelectionControllerTest, InsertionWithShowOnTapForEmptyEditable) {
|
| OnTapEvent();
|
| controller().OnSelectionEmpty(true);
|
| ChangeInsertion(insertion_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, INSERTION_HANDLE_SHOWN));
|
| EXPECT_EQ(insertion_rect.bottom_left(), GetLastEventStart());
|
|
|
| // Additional taps should not hide the insertion handle in this case.
|
| @@ -376,7 +381,8 @@ TEST_F(TouchSelectionControllerTest, InsertionAppearsAfterTapFollowingTyping) {
|
| // entry, the handle should appear.
|
| OnTapEvent();
|
| ChangeInsertion(insertion_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, INSERTION_HANDLE_SHOWN));
|
| EXPECT_EQ(insertion_rect.bottom_left(), GetLastEventStart());
|
| }
|
|
|
| @@ -389,25 +395,26 @@ TEST_F(TouchSelectionControllerTest, InsertionToSelectionTransition) {
|
| bool visible = true;
|
|
|
| ChangeInsertion(start_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, INSERTION_HANDLE_SHOWN));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
|
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_CLEARED,
|
| - SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(INSERTION_HANDLE_CLEARED, SELECTION_HANDLES_SHOWN));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
|
|
| ChangeInsertion(end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_CLEARED,
|
| - INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_HANDLES_CLEARED, INSERTION_HANDLE_SHOWN));
|
| EXPECT_EQ(end_rect.bottom_left(), GetLastEventStart());
|
|
|
| controller().HideAndDisallowShowingAutomatically();
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_CLEARED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_CLEARED));
|
|
|
| OnTapEvent();
|
| ChangeInsertion(end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_SHOWN));
|
| EXPECT_EQ(end_rect.bottom_left(), GetLastEventStart());
|
| }
|
|
|
| @@ -424,7 +431,8 @@ TEST_F(TouchSelectionControllerTest, InsertionDragged) {
|
| gfx::RectF start_rect(10, 0, 0, line_height);
|
| bool visible = true;
|
| ChangeInsertion(start_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, INSERTION_HANDLE_SHOWN));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
|
|
| // The touch sequence should be handled only if the drawable reports a hit.
|
| @@ -432,7 +440,7 @@ TEST_F(TouchSelectionControllerTest, InsertionDragged) {
|
| SetDraggingEnabled(true);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| EXPECT_FALSE(GetAndResetCaretMoved());
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_DRAG_STARTED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_DRAG_STARTED));
|
|
|
| // The MoveCaret() result should reflect the movement.
|
| // The reported position is offset from the center of |start_rect|.
|
| @@ -455,7 +463,7 @@ TEST_F(TouchSelectionControllerTest, InsertionDragged) {
|
| event = MockMotionEvent(MockMotionEvent::ACTION_UP, event_time, 10, 5);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| EXPECT_FALSE(GetAndResetCaretMoved());
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_DRAG_STOPPED));
|
|
|
| // Once the drag is complete, no more touch events should be consumed until
|
| // the next ACTION_DOWN.
|
| @@ -471,23 +479,25 @@ TEST_F(TouchSelectionControllerTest, InsertionTapped) {
|
| gfx::RectF start_rect(10, 0, 0, 10);
|
| bool visible = true;
|
| ChangeInsertion(start_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, INSERTION_HANDLE_SHOWN));
|
|
|
| MockMotionEvent event(MockMotionEvent::ACTION_DOWN, event_time, 0, 0);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_DRAG_STARTED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_DRAG_STARTED));
|
|
|
| event = MockMotionEvent(MockMotionEvent::ACTION_UP, event_time, 0, 0);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_TAPPED,
|
| - INSERTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_TAPPED,
|
| + INSERTION_HANDLE_DRAG_STOPPED));
|
|
|
| // Reset the insertion.
|
| ClearInsertion();
|
| OnTapEvent();
|
| ChangeInsertion(start_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_CLEARED,
|
| - INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_DISSOLVED, INSERTION_HANDLE_CLEARED,
|
| + SELECTION_ESTABLISHED, INSERTION_HANDLE_SHOWN));
|
|
|
| // No tap should be signalled if the time between DOWN and UP was too long.
|
| event = MockMotionEvent(MockMotionEvent::ACTION_DOWN, event_time, 0, 0);
|
| @@ -497,15 +507,16 @@ TEST_F(TouchSelectionControllerTest, InsertionTapped) {
|
| 0,
|
| 0);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_DRAG_STARTED,
|
| - INSERTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_DRAG_STARTED,
|
| + INSERTION_HANDLE_DRAG_STOPPED));
|
|
|
| // Reset the insertion.
|
| ClearInsertion();
|
| OnTapEvent();
|
| ChangeInsertion(start_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_CLEARED,
|
| - INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_DISSOLVED, INSERTION_HANDLE_CLEARED,
|
| + SELECTION_ESTABLISHED, INSERTION_HANDLE_SHOWN));
|
|
|
| // No tap should be signalled if the drag was too long.
|
| event = MockMotionEvent(MockMotionEvent::ACTION_DOWN, event_time, 0, 0);
|
| @@ -514,23 +525,24 @@ TEST_F(TouchSelectionControllerTest, InsertionTapped) {
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| event = MockMotionEvent(MockMotionEvent::ACTION_UP, event_time, 100, 0);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_DRAG_STARTED,
|
| - INSERTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_DRAG_STARTED,
|
| + INSERTION_HANDLE_DRAG_STOPPED));
|
|
|
| // Reset the insertion.
|
| ClearInsertion();
|
| OnTapEvent();
|
| ChangeInsertion(start_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_CLEARED,
|
| - INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_DISSOLVED, INSERTION_HANDLE_CLEARED,
|
| + SELECTION_ESTABLISHED, INSERTION_HANDLE_SHOWN));
|
|
|
| // No tap should be signalled if the touch sequence is cancelled.
|
| event = MockMotionEvent(MockMotionEvent::ACTION_DOWN, event_time, 0, 0);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| event = MockMotionEvent(MockMotionEvent::ACTION_CANCEL, event_time, 0, 0);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_DRAG_STARTED,
|
| - INSERTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_DRAG_STARTED,
|
| + INSERTION_HANDLE_DRAG_STOPPED));
|
| }
|
|
|
| TEST_F(TouchSelectionControllerTest, InsertionNotResetByRepeatedTapOrPress) {
|
| @@ -542,25 +554,26 @@ TEST_F(TouchSelectionControllerTest, InsertionNotResetByRepeatedTapOrPress) {
|
| gfx::RectF anchor_rect(10, 0, 0, 10);
|
| bool visible = true;
|
| ChangeInsertion(anchor_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, INSERTION_HANDLE_SHOWN));
|
| EXPECT_EQ(anchor_rect.bottom_left(), GetLastEventStart());
|
|
|
| // Tapping again shouldn't reset the active insertion point.
|
| OnTapEvent();
|
| MockMotionEvent event(MockMotionEvent::ACTION_DOWN, event_time, 0, 0);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_DRAG_STARTED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_DRAG_STARTED));
|
| EXPECT_EQ(anchor_rect.bottom_left(), GetLastEventStart());
|
|
|
| event = MockMotionEvent(MockMotionEvent::ACTION_UP, event_time, 0, 0);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_TAPPED,
|
| - INSERTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_TAPPED,
|
| + INSERTION_HANDLE_DRAG_STOPPED));
|
| EXPECT_EQ(anchor_rect.bottom_left(), GetLastEventStart());
|
|
|
| anchor_rect.Offset(5, 15);
|
| ChangeInsertion(anchor_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_MOVED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_MOVED));
|
| EXPECT_EQ(anchor_rect.bottom_left(), GetLastEventStart());
|
|
|
| // Pressing shouldn't reset the active insertion point.
|
| @@ -568,13 +581,13 @@ TEST_F(TouchSelectionControllerTest, InsertionNotResetByRepeatedTapOrPress) {
|
| controller().OnSelectionEmpty(true);
|
| event = MockMotionEvent(MockMotionEvent::ACTION_DOWN, event_time, 0, 0);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_DRAG_STARTED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_DRAG_STARTED));
|
| EXPECT_EQ(anchor_rect.bottom_left(), GetLastEventStart());
|
|
|
| event = MockMotionEvent(MockMotionEvent::ACTION_UP, event_time, 0, 0);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_TAPPED,
|
| - INSERTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_HANDLE_TAPPED,
|
| + INSERTION_HANDLE_DRAG_STOPPED));
|
| EXPECT_EQ(anchor_rect.bottom_left(), GetLastEventStart());
|
| }
|
|
|
| @@ -589,18 +602,20 @@ TEST_F(TouchSelectionControllerTest, SelectionBasic) {
|
|
|
| OnLongPressEvent();
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, SELECTION_HANDLES_SHOWN));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
|
|
| start_rect.Offset(1, 0);
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| // Selection movement does not currently trigger a separate event.
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_MOVED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLES_MOVED));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
| EXPECT_EQ(end_rect.bottom_left(), GetLastEventEnd());
|
|
|
| ClearSelection();
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_CLEARED));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_DISSOLVED, SELECTION_HANDLES_CLEARED));
|
| EXPECT_EQ(gfx::PointF(), GetLastEventStart());
|
| }
|
|
|
| @@ -622,7 +637,8 @@ TEST_F(TouchSelectionControllerTest, SelectionAllowsEmptyUpdateAfterLongPress) {
|
| EXPECT_THAT(GetAndResetEvents(), IsEmpty());
|
|
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, SELECTION_HANDLES_SHOWN));
|
| }
|
|
|
| TEST_F(TouchSelectionControllerTest, SelectionRepeatedLongPress) {
|
| @@ -632,16 +648,18 @@ TEST_F(TouchSelectionControllerTest, SelectionRepeatedLongPress) {
|
|
|
| OnLongPressEvent();
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, SELECTION_HANDLES_SHOWN));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
| EXPECT_EQ(end_rect.bottom_left(), GetLastEventEnd());
|
|
|
| - // A long press triggering a new selection should re-send the SELECTION_SHOWN
|
| + // A long press triggering a new selection should re-send the
|
| + // SELECTION_HANDLES_SHOWN
|
| // event notification.
|
| start_rect.Offset(10, 10);
|
| OnLongPressEvent();
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLES_SHOWN));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
| EXPECT_EQ(end_rect.bottom_left(), GetLastEventEnd());
|
| }
|
| @@ -659,7 +677,8 @@ TEST_F(TouchSelectionControllerTest, SelectionDragged) {
|
| gfx::RectF end_rect(50, 0, 0, line_height);
|
| bool visible = true;
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, SELECTION_HANDLES_SHOWN));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
|
|
| // The touch sequence should be handled only if the drawable reports a hit.
|
| @@ -677,7 +696,7 @@ TEST_F(TouchSelectionControllerTest, SelectionDragged) {
|
| gfx::PointF start_offset = start_rect.CenterPoint();
|
| event = MockMotionEvent(MockMotionEvent::ACTION_MOVE, event_time, 0, 5);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STARTED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STARTED));
|
| EXPECT_TRUE(GetAndResetSelectionMoved());
|
| EXPECT_EQ(fixed_offset, GetLastSelectionStart());
|
| EXPECT_EQ(start_offset + gfx::Vector2dF(0, 5), GetLastSelectionEnd());
|
| @@ -696,7 +715,7 @@ TEST_F(TouchSelectionControllerTest, SelectionDragged) {
|
|
|
| event = MockMotionEvent(MockMotionEvent::ACTION_UP, event_time, 10, 5);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STOPPED));
|
| EXPECT_FALSE(GetAndResetSelectionMoved());
|
|
|
| // Once the drag is complete, no more touch events should be consumed until
|
| @@ -713,7 +732,8 @@ TEST_F(TouchSelectionControllerTest, SelectionDraggedWithOverlap) {
|
| gfx::RectF end_rect(50, 0, 0, line_height);
|
| bool visible = true;
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, SELECTION_HANDLES_SHOWN));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
|
|
| // The ACTION_DOWN should lock to the closest handle.
|
| @@ -724,7 +744,7 @@ TEST_F(TouchSelectionControllerTest, SelectionDraggedWithOverlap) {
|
| MockMotionEvent::ACTION_DOWN, event_time, touch_down_x, 0);
|
| SetDraggingEnabled(true);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STARTED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STARTED));
|
| EXPECT_FALSE(GetAndResetSelectionMoved());
|
|
|
| // Even though the ACTION_MOVE is over the start handle, it should continue
|
| @@ -738,7 +758,7 @@ TEST_F(TouchSelectionControllerTest, SelectionDraggedWithOverlap) {
|
|
|
| event = MockMotionEvent(MockMotionEvent::ACTION_UP, event_time, 0, 0);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STOPPED));
|
| EXPECT_FALSE(GetAndResetSelectionMoved());
|
| }
|
|
|
| @@ -751,7 +771,8 @@ TEST_F(TouchSelectionControllerTest, SelectionDraggedToSwitchBaseAndExtent) {
|
| gfx::RectF end_rect(100, line_height, 0, line_height);
|
| bool visible = true;
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, SELECTION_HANDLES_SHOWN));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
|
|
| SetDraggingEnabled(true);
|
| @@ -768,7 +789,7 @@ TEST_F(TouchSelectionControllerTest, SelectionDraggedToSwitchBaseAndExtent) {
|
| event = MockMotionEvent(MockMotionEvent::ACTION_MOVE, event_time,
|
| end_rect.x(), end_rect.bottom() + 5);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STARTED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STARTED));
|
| EXPECT_TRUE(GetAndResetSelectionMoved());
|
| EXPECT_FALSE(GetAndResetSelectionPointsSwapped());
|
| EXPECT_EQ(base_offset, GetLastSelectionStart());
|
| @@ -776,12 +797,12 @@ TEST_F(TouchSelectionControllerTest, SelectionDraggedToSwitchBaseAndExtent) {
|
|
|
| event = MockMotionEvent(MockMotionEvent::ACTION_UP, event_time, 10, 5);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STOPPED));
|
| EXPECT_FALSE(GetAndResetSelectionMoved());
|
|
|
| end_rect += gfx::Vector2dF(0, 5);
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_MOVED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLES_MOVED));
|
|
|
| // Move the base, triggering a swap of points.
|
| event = MockMotionEvent(MockMotionEvent::ACTION_DOWN, event_time,
|
| @@ -795,7 +816,7 @@ TEST_F(TouchSelectionControllerTest, SelectionDraggedToSwitchBaseAndExtent) {
|
| event = MockMotionEvent(MockMotionEvent::ACTION_MOVE, event_time,
|
| start_rect.x(), start_rect.bottom() + 5);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STARTED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STARTED));
|
| EXPECT_TRUE(GetAndResetSelectionMoved());
|
| EXPECT_FALSE(GetAndResetSelectionPointsSwapped());
|
| EXPECT_EQ(base_offset, GetLastSelectionStart());
|
| @@ -803,12 +824,12 @@ TEST_F(TouchSelectionControllerTest, SelectionDraggedToSwitchBaseAndExtent) {
|
|
|
| event = MockMotionEvent(MockMotionEvent::ACTION_UP, event_time, 10, 5);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STOPPED));
|
| EXPECT_FALSE(GetAndResetSelectionMoved());
|
|
|
| start_rect += gfx::Vector2dF(0, 5);
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_MOVED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLES_MOVED));
|
|
|
| // Move the same point again, not triggering a swap of points.
|
| event = MockMotionEvent(MockMotionEvent::ACTION_DOWN, event_time,
|
| @@ -822,7 +843,7 @@ TEST_F(TouchSelectionControllerTest, SelectionDraggedToSwitchBaseAndExtent) {
|
| event = MockMotionEvent(MockMotionEvent::ACTION_MOVE, event_time,
|
| start_rect.x(), start_rect.bottom() + 5);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STARTED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STARTED));
|
| EXPECT_TRUE(GetAndResetSelectionMoved());
|
| EXPECT_FALSE(GetAndResetSelectionPointsSwapped());
|
| EXPECT_EQ(base_offset, GetLastSelectionStart());
|
| @@ -830,12 +851,12 @@ TEST_F(TouchSelectionControllerTest, SelectionDraggedToSwitchBaseAndExtent) {
|
|
|
| event = MockMotionEvent(MockMotionEvent::ACTION_UP, event_time, 10, 5);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STOPPED));
|
| EXPECT_FALSE(GetAndResetSelectionMoved());
|
|
|
| start_rect += gfx::Vector2dF(0, 5);
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_MOVED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLES_MOVED));
|
|
|
| // Move the base, triggering a swap of points.
|
| event = MockMotionEvent(MockMotionEvent::ACTION_DOWN, event_time,
|
| @@ -849,7 +870,7 @@ TEST_F(TouchSelectionControllerTest, SelectionDraggedToSwitchBaseAndExtent) {
|
| event = MockMotionEvent(MockMotionEvent::ACTION_MOVE, event_time,
|
| end_rect.x(), end_rect.bottom() + 5);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STARTED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STARTED));
|
| EXPECT_TRUE(GetAndResetSelectionMoved());
|
| EXPECT_FALSE(GetAndResetSelectionPointsSwapped());
|
| EXPECT_EQ(base_offset, GetLastSelectionStart());
|
| @@ -857,7 +878,7 @@ TEST_F(TouchSelectionControllerTest, SelectionDraggedToSwitchBaseAndExtent) {
|
|
|
| event = MockMotionEvent(MockMotionEvent::ACTION_UP, event_time, 10, 5);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STOPPED));
|
| EXPECT_FALSE(GetAndResetSelectionMoved());
|
| }
|
|
|
| @@ -871,7 +892,8 @@ TEST_F(TouchSelectionControllerTest, SelectionDragExtremeLineSize) {
|
| gfx::RectF large_line_rect(50, 50, 0, large_line_height);
|
| bool visible = true;
|
| ChangeSelection(small_line_rect, visible, large_line_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, SELECTION_HANDLES_SHOWN));
|
| EXPECT_EQ(small_line_rect.bottom_left(), GetLastEventStart());
|
|
|
| // Start dragging the handle on the small line.
|
| @@ -879,7 +901,7 @@ TEST_F(TouchSelectionControllerTest, SelectionDragExtremeLineSize) {
|
| small_line_rect.x(), small_line_rect.y());
|
| SetDraggingEnabled(true);
|
| EXPECT_TRUE(controller().WillHandleTouchEvent(event));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STARTED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STARTED));
|
| // The drag coordinate for large lines should be capped to a reasonable
|
| // offset, allowing seamless transition to neighboring lines with different
|
| // sizes. The drag coordinate for small lines should have an offset
|
| @@ -967,7 +989,8 @@ TEST_F(TouchSelectionControllerTest, SelectionClearOnTap) {
|
|
|
| OnLongPressEvent();
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, SELECTION_HANDLES_SHOWN));
|
|
|
| // Selection should not be cleared if the selection bounds have not changed.
|
| OnTapEvent();
|
| @@ -976,7 +999,8 @@ TEST_F(TouchSelectionControllerTest, SelectionClearOnTap) {
|
|
|
| OnTapEvent();
|
| ClearSelection();
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_CLEARED));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_DISSOLVED, SELECTION_HANDLES_CLEARED));
|
| EXPECT_EQ(gfx::PointF(), GetLastEventStart());
|
| }
|
|
|
| @@ -989,20 +1013,21 @@ TEST_F(TouchSelectionControllerTest, NoSelectionAfterLongpressThenTap) {
|
| OnLongPressEvent();
|
| OnTapEvent();
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), IsEmpty());
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_ESTABLISHED));
|
|
|
| // Subsequent longpress selections will be allowed.
|
| OnLongPressEvent();
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLES_SHOWN));
|
|
|
| // Tapping again shouldn't have any effect on subsequent selection events.
|
| OnTapEvent();
|
| end_rect.Offset(10, 10);
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_MOVED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLES_MOVED));
|
| ClearSelection();
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_CLEARED));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_DISSOLVED, SELECTION_HANDLES_CLEARED));
|
| }
|
|
|
| TEST_F(TouchSelectionControllerTest, AllowShowingFromCurrentSelection) {
|
| @@ -1019,7 +1044,8 @@ TEST_F(TouchSelectionControllerTest, AllowShowingFromCurrentSelection) {
|
|
|
| // Now explicitly allow showing from the previously supplied bounds.
|
| controller().AllowShowingFromCurrentSelection();
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, SELECTION_HANDLES_SHOWN));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
|
|
| // Repeated calls to show from the current selection should be ignored.
|
| @@ -1029,7 +1055,8 @@ TEST_F(TouchSelectionControllerTest, AllowShowingFromCurrentSelection) {
|
|
|
| // Trying to show from an empty selection will have no result.
|
| ClearSelection();
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_CLEARED));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_DISSOLVED, SELECTION_HANDLES_CLEARED));
|
| controller().AllowShowingFromCurrentSelection();
|
| EXPECT_THAT(GetAndResetEvents(), IsEmpty());
|
|
|
| @@ -1040,7 +1067,8 @@ TEST_F(TouchSelectionControllerTest, AllowShowingFromCurrentSelection) {
|
| gfx::RectF insertion_rect(5, 5, 0, 10);
|
| ChangeInsertion(insertion_rect, visible);
|
| controller().AllowShowingFromCurrentSelection();
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(INSERTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, INSERTION_HANDLE_SHOWN));
|
| EXPECT_EQ(insertion_rect.bottom_left(), GetLastEventStart());
|
| }
|
|
|
| @@ -1053,7 +1081,7 @@ TEST_F(TouchSelectionControllerTest, HandlesShowOnTapInsideRect) {
|
|
|
| // Establish a selection without handles from 5 to 50 with height 10.
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), IsEmpty());
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_ESTABLISHED));
|
|
|
| // A point outside the rect should not be handled.
|
| EXPECT_FALSE(controller().WillHandleTapEvent(outer_point));
|
| @@ -1061,7 +1089,7 @@ TEST_F(TouchSelectionControllerTest, HandlesShowOnTapInsideRect) {
|
|
|
| // A point inside the rect should be handled.
|
| EXPECT_TRUE(controller().WillHandleTapEvent(inner_point));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLES_SHOWN));
|
| }
|
|
|
| TEST_F(TouchSelectionControllerTest, HandlesShowOnLongPressInsideRect) {
|
| @@ -1073,7 +1101,7 @@ TEST_F(TouchSelectionControllerTest, HandlesShowOnLongPressInsideRect) {
|
|
|
| // Establish a selection without handles from 5 to 50 with height 10.
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), IsEmpty());
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_ESTABLISHED));
|
|
|
| // A point outside the rect should not be handled.
|
| EXPECT_FALSE(
|
| @@ -1083,7 +1111,7 @@ TEST_F(TouchSelectionControllerTest, HandlesShowOnLongPressInsideRect) {
|
| // A point inside the rect should be handled.
|
| EXPECT_TRUE(
|
| controller().WillHandleLongPressEvent(base::TimeTicks(), inner_point));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLES_SHOWN));
|
| }
|
|
|
| TEST_F(TouchSelectionControllerTest, LongPressDrag) {
|
| @@ -1101,7 +1129,8 @@ TEST_F(TouchSelectionControllerTest, LongPressDrag) {
|
| // Activate a longpress-triggered selection.
|
| OnLongPressEvent();
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, SELECTION_HANDLES_SHOWN));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
|
|
| // The handles should remain invisible while the touch release and longpress
|
| @@ -1117,7 +1146,7 @@ TEST_F(TouchSelectionControllerTest, LongPressDrag) {
|
|
|
| EXPECT_TRUE(
|
| controller().WillHandleTouchEvent(event.MovePoint(0, 0, kDefaulTapSlop)));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STARTED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STARTED));
|
| EXPECT_EQ(fixed_offset, GetLastSelectionStart());
|
| EXPECT_EQ(end_offset, GetLastSelectionEnd());
|
|
|
| @@ -1146,7 +1175,7 @@ TEST_F(TouchSelectionControllerTest, LongPressDrag) {
|
|
|
| // Releasing the touch sequence should end the drag and show the handles.
|
| EXPECT_FALSE(controller().WillHandleTouchEvent(event.ReleasePoint()));
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_DRAG_STOPPED));
|
| + EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLE_DRAG_STOPPED));
|
| EXPECT_TRUE(test_controller.GetStartVisible());
|
| EXPECT_TRUE(test_controller.GetEndVisible());
|
| }
|
| @@ -1166,7 +1195,8 @@ TEST_F(TouchSelectionControllerTest, LongPressNoDrag) {
|
| // Activate a longpress-triggered selection.
|
| OnLongPressEvent();
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, SELECTION_HANDLES_SHOWN));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
|
|
| // The handles should remain invisible while the touch release and longpress
|
| @@ -1197,7 +1227,8 @@ TEST_F(TouchSelectionControllerTest, NoLongPressDragIfDisabled) {
|
| // Activate a longpress-triggered selection.
|
| OnLongPressEvent();
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - EXPECT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + EXPECT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, SELECTION_HANDLES_SHOWN));
|
| EXPECT_EQ(start_rect.bottom_left(), GetLastEventStart());
|
| EXPECT_TRUE(test_controller.GetStartVisible());
|
| EXPECT_TRUE(test_controller.GetEndVisible());
|
| @@ -1227,7 +1258,8 @@ TEST_F(TouchSelectionControllerTest, RectBetweenBounds) {
|
|
|
| OnLongPressEvent();
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - ASSERT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_SHOWN));
|
| + ASSERT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_ESTABLISHED, SELECTION_HANDLES_SHOWN));
|
| EXPECT_EQ(gfx::RectF(5, 5, 45, 10), controller().GetRectBetweenBounds());
|
|
|
| // The result of |GetRectBetweenBounds| should be available within the
|
| @@ -1236,30 +1268,31 @@ TEST_F(TouchSelectionControllerTest, RectBetweenBounds) {
|
|
|
| start_rect.Offset(1, 0);
|
| ChangeSelection(start_rect, visible, end_rect, visible);
|
| - ASSERT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_MOVED));
|
| + ASSERT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLES_MOVED));
|
| EXPECT_EQ(gfx::RectF(6, 5, 44, 10), controller().GetRectBetweenBounds());
|
| EXPECT_EQ(GetLastEventBoundsRect(), controller().GetRectBetweenBounds());
|
|
|
| // If only one bound is visible, the selection bounding rect should reflect
|
| // only the visible bound.
|
| ChangeSelection(start_rect, visible, end_rect, false);
|
| - ASSERT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_MOVED));
|
| + ASSERT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLES_MOVED));
|
| EXPECT_EQ(start_rect, controller().GetRectBetweenBounds());
|
| EXPECT_EQ(GetLastEventBoundsRect(), controller().GetRectBetweenBounds());
|
|
|
| ChangeSelection(start_rect, false, end_rect, visible);
|
| - ASSERT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_MOVED));
|
| + ASSERT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLES_MOVED));
|
| EXPECT_EQ(end_rect, controller().GetRectBetweenBounds());
|
| EXPECT_EQ(GetLastEventBoundsRect(), controller().GetRectBetweenBounds());
|
|
|
| // If both bounds are visible, the full bounding rect should be returned.
|
| ChangeSelection(start_rect, false, end_rect, false);
|
| - ASSERT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_MOVED));
|
| + ASSERT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_HANDLES_MOVED));
|
| EXPECT_EQ(gfx::RectF(6, 5, 44, 10), controller().GetRectBetweenBounds());
|
| EXPECT_EQ(GetLastEventBoundsRect(), controller().GetRectBetweenBounds());
|
|
|
| ClearSelection();
|
| - ASSERT_THAT(GetAndResetEvents(), ElementsAre(SELECTION_CLEARED));
|
| + ASSERT_THAT(GetAndResetEvents(),
|
| + ElementsAre(SELECTION_DISSOLVED, SELECTION_HANDLES_CLEARED));
|
| EXPECT_EQ(gfx::RectF(), controller().GetRectBetweenBounds());
|
| }
|
|
|
|
|