@@ -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