Unverified Commit 61477b59 authored by Ming Lyu (CareF)'s avatar Ming Lyu (CareF) Committed by GitHub

Fix PointerAddedEvent handling in LiveTestWidgetsFlutterBinding (#61102)

* Fix PointerAddedEvent handling in tester
parent cc1af3af
...@@ -1433,8 +1433,11 @@ class LiveTestWidgetsFlutterBinding extends TestWidgetsFlutterBinding { ...@@ -1433,8 +1433,11 @@ class LiveTestWidgetsFlutterBinding extends TestWidgetsFlutterBinding {
switch (source) { switch (source) {
case TestBindingEventSource.test: case TestBindingEventSource.test:
if (!renderView._pointers.containsKey(event.pointer)) { if (!renderView._pointers.containsKey(event.pointer)) {
assert(event.down); assert(event.down || event is PointerAddedEvent);
renderView._pointers[event.pointer] = _LiveTestPointerRecord(event.pointer, event.position); if (event.down) {
renderView._pointers[event.pointer] = _LiveTestPointerRecord(
event.pointer, event.position);
}
} else { } else {
renderView._pointers[event.pointer].position = event.position; renderView._pointers[event.pointer].position = event.position;
if (!event.down) if (!event.down)
......
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
// This file is for testings that require a `LiveTestWidgetsFlutterBinding`
void main() {
LiveTestWidgetsFlutterBinding();
testWidgets('Input PointerAddedEvent', (WidgetTester tester) async {
await tester.pumpWidget(const MaterialApp(home: Text('Test')));
await tester.pump();
final TestGesture gesture = await tester.createGesture();
// This mimics the start of a gesture as seen on a device, where inputs
// starts with a PointerAddedEvent.
await gesture.addPointer();
});
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment