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

Side by Side Diff: content/browser/renderer_host/input/mouse_wheel_event_queue_unittest.cc

Issue 2846933002: Use ScopedTaskEnvironment instead of MessageLoopForUI in content tests. (Closed)
Patch Set: self-review Created 3 years, 7 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "content/browser/renderer_host/input/mouse_wheel_event_queue.h" 5 #include "content/browser/renderer_host/input/mouse_wheel_event_queue.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
11 11
12 #include "base/location.h" 12 #include "base/location.h"
13 #include "base/message_loop/message_loop.h" 13 #include "base/message_loop/message_loop.h"
14 #include "base/run_loop.h" 14 #include "base/run_loop.h"
15 #include "base/single_thread_task_runner.h" 15 #include "base/single_thread_task_runner.h"
16 #include "base/test/scoped_task_environment.h"
16 #include "base/threading/thread_task_runner_handle.h" 17 #include "base/threading/thread_task_runner_handle.h"
17 #include "content/browser/renderer_host/input/timeout_monitor.h" 18 #include "content/browser/renderer_host/input/timeout_monitor.h"
18 #include "content/common/input/synthetic_web_input_event_builders.h" 19 #include "content/common/input/synthetic_web_input_event_builders.h"
19 #include "testing/gtest/include/gtest/gtest.h" 20 #include "testing/gtest/include/gtest/gtest.h"
20 #include "third_party/WebKit/public/platform/WebInputEvent.h" 21 #include "third_party/WebKit/public/platform/WebInputEvent.h"
21 #include "ui/events/base_event_utils.h" 22 #include "ui/events/base_event_utils.h"
22 23
23 using blink::WebGestureEvent; 24 using blink::WebGestureEvent;
24 using blink::WebInputEvent; 25 using blink::WebInputEvent;
25 using blink::WebMouseWheelEvent; 26 using blink::WebMouseWheelEvent;
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 134
134 #define EXPECT_MOUSE_WHEEL(event) \ 135 #define EXPECT_MOUSE_WHEEL(event) \
135 EXPECT_EQ(WebInputEvent::kMouseWheel, event->GetType()); 136 EXPECT_EQ(WebInputEvent::kMouseWheel, event->GetType());
136 137
137 } // namespace 138 } // namespace
138 139
139 class MouseWheelEventQueueTest : public testing::TestWithParam<bool>, 140 class MouseWheelEventQueueTest : public testing::TestWithParam<bool>,
140 public MouseWheelEventQueueClient { 141 public MouseWheelEventQueueClient {
141 public: 142 public:
142 MouseWheelEventQueueTest() 143 MouseWheelEventQueueTest()
143 : acked_event_count_(0), 144 : scoped_task_environment_(
145 base::test::ScopedTaskEnvironment::MainThreadType::UI),
146 acked_event_count_(0),
144 last_acked_event_state_(INPUT_EVENT_ACK_STATE_UNKNOWN) { 147 last_acked_event_state_(INPUT_EVENT_ACK_STATE_UNKNOWN) {
145 scroll_latching_enabled_ = GetParam(); 148 scroll_latching_enabled_ = GetParam();
146 queue_.reset(new MouseWheelEventQueue(this, scroll_latching_enabled_)); 149 queue_.reset(new MouseWheelEventQueue(this, scroll_latching_enabled_));
147 scroll_end_timeout_ms_ = scroll_latching_enabled_ ? 100 : 0; 150 scroll_end_timeout_ms_ = scroll_latching_enabled_ ? 100 : 0;
148 } 151 }
149 152
150 ~MouseWheelEventQueueTest() override {} 153 ~MouseWheelEventQueueTest() override {}
151 154
152 // MouseWheelEventQueueClient 155 // MouseWheelEventQueueClient
153 void SendMouseWheelEventImmediately( 156 void SendMouseWheelEventImmediately(
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
437 EXPECT_INERTIAL_GESTURE_SCROLL_END(sent_gesture_event(0)); 440 EXPECT_INERTIAL_GESTURE_SCROLL_END(sent_gesture_event(0));
438 EXPECT_EQ(1U, GetAndResetSentEventCount()); 441 EXPECT_EQ(1U, GetAndResetSentEventCount());
439 } else { 442 } else {
440 EXPECT_EQ(2U, all_sent_events().size()); 443 EXPECT_EQ(2U, all_sent_events().size());
441 EXPECT_SYNTHETIC_INERTIAL_GESTURE_SCROLL_BEGIN(sent_gesture_event(0)); 444 EXPECT_SYNTHETIC_INERTIAL_GESTURE_SCROLL_BEGIN(sent_gesture_event(0));
442 EXPECT_INERTIAL_GESTURE_SCROLL_END(sent_gesture_event(1)); 445 EXPECT_INERTIAL_GESTURE_SCROLL_END(sent_gesture_event(1));
443 EXPECT_EQ(2U, GetAndResetSentEventCount()); 446 EXPECT_EQ(2U, GetAndResetSentEventCount());
444 } 447 }
445 } 448 }
446 449
450 base::test::ScopedTaskEnvironment scoped_task_environment_;
447 std::unique_ptr<MouseWheelEventQueue> queue_; 451 std::unique_ptr<MouseWheelEventQueue> queue_;
448 std::vector<std::unique_ptr<WebInputEvent>> sent_events_; 452 std::vector<std::unique_ptr<WebInputEvent>> sent_events_;
449 size_t acked_event_count_; 453 size_t acked_event_count_;
450 InputEventAckState last_acked_event_state_; 454 InputEventAckState last_acked_event_state_;
451 base::MessageLoopForUI message_loop_;
452 WebMouseWheelEvent last_acked_event_; 455 WebMouseWheelEvent last_acked_event_;
453 int64_t scroll_end_timeout_ms_; 456 int64_t scroll_end_timeout_ms_;
454 bool scroll_latching_enabled_; 457 bool scroll_latching_enabled_;
455 }; 458 };
456 459
457 // Tests that mouse wheel events are queued properly. 460 // Tests that mouse wheel events are queued properly.
458 TEST_P(MouseWheelEventQueueTest, Basic) { 461 TEST_P(MouseWheelEventQueueTest, Basic) {
459 SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX, 462 SendMouseWheel(kWheelScrollX, kWheelScrollY, kWheelScrollGlobalX,
460 kWheelScrollGlobalY, 1, 1, 0, false); 463 kWheelScrollGlobalY, 1, 1, 0, false);
461 EXPECT_EQ(0U, queued_event_count()); 464 EXPECT_EQ(0U, queued_event_count());
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
701 EXPECT_EQ(0U, sent_gesture_event(0)->data.scroll_update.delta_x); 704 EXPECT_EQ(0U, sent_gesture_event(0)->data.scroll_update.delta_x);
702 EXPECT_EQ(1U, sent_gesture_event(0)->data.scroll_update.delta_y); 705 EXPECT_EQ(1U, sent_gesture_event(0)->data.scroll_update.delta_y);
703 EXPECT_EQ(1U, GetAndResetSentEventCount()); 706 EXPECT_EQ(1U, GetAndResetSentEventCount());
704 } 707 }
705 708
706 INSTANTIATE_TEST_CASE_P(MouseWheelEventQueueTests, 709 INSTANTIATE_TEST_CASE_P(MouseWheelEventQueueTests,
707 MouseWheelEventQueueTest, 710 MouseWheelEventQueueTest,
708 testing::Bool()); 711 testing::Bool());
709 712
710 } // namespace content 713 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698