Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 45e850f

Browse files
committed
Add additional tests for FlTouchManager to validate touch event handling
1 parent 75b74c9 commit 45e850f

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

shell/platform/linux/fl_touch_manager_test.cc

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ static GdkDevice* makeFakeDevice(GdkInputSource source) {
4444
return reinterpret_cast<GdkDevice*>(device);
4545
}
4646

47-
TEST(FlTouchManagerTest, TouchEvent) {
47+
TEST(FlTouchManagerTest, TouchEvents) {
4848
g_autoptr(FlEngine) engine = make_mock_engine();
4949
std::vector<FlutterPointerEvent> pointer_events;
5050
log_pointer_events(engine, pointer_events);
@@ -73,4 +73,31 @@ TEST(FlTouchManagerTest, TouchEvent) {
7373
EXPECT_EQ(pointer_events[1].timestamp,
7474
1000lu); // Milliseconds -> Microseconds
7575
EXPECT_EQ(pointer_events[1].phase, kDown);
76+
77+
event->type = GDK_TOUCH_UPDATE;
78+
fl_touch_manager_handle_touch_event(manager, event, 1.0);
79+
EXPECT_EQ(pointer_events.size(), 3u);
80+
EXPECT_EQ(pointer_events[2].x, 4.0);
81+
EXPECT_EQ(pointer_events[2].y, 8.0);
82+
EXPECT_EQ(pointer_events[2].device_kind, kFlutterPointerDeviceKindTouch);
83+
EXPECT_EQ(pointer_events[2].timestamp,
84+
1000lu); // Milliseconds -> Microseconds
85+
EXPECT_EQ(pointer_events[2].phase, kMove);
86+
87+
event->type = GDK_TOUCH_END;
88+
fl_touch_manager_handle_touch_event(manager, event, 1.0);
89+
EXPECT_EQ(pointer_events.size(), 5u);
90+
EXPECT_EQ(pointer_events[3].x, 4.0);
91+
EXPECT_EQ(pointer_events[3].y, 8.0);
92+
EXPECT_EQ(pointer_events[3].device_kind, kFlutterPointerDeviceKindTouch);
93+
EXPECT_EQ(pointer_events[3].timestamp,
94+
1000lu); // Milliseconds -> Microseconds
95+
EXPECT_EQ(pointer_events[3].phase, kUp);
96+
97+
EXPECT_EQ(pointer_events[4].x, 4.0);
98+
EXPECT_EQ(pointer_events[4].y, 8.0);
99+
EXPECT_EQ(pointer_events[4].device_kind, kFlutterPointerDeviceKindTouch);
100+
EXPECT_EQ(pointer_events[4].timestamp,
101+
1000lu); // Milliseconds -> Microseconds
102+
EXPECT_EQ(pointer_events[4].phase, kRemove);
76103
}

0 commit comments

Comments
 (0)