mirror of
https://github.com/flutter/flutter
synced 2024-10-14 04:02:56 +00:00
Revert "When a list is scrolling, children can't be tapped" (#5264)
This commit is contained in:
parent
435ad476d8
commit
84cbefe2d4
|
@ -43,9 +43,8 @@ Future<Null> smokeDemo(WidgetTester tester, String routeName) async {
|
|||
|
||||
await tester.tap(menuItem);
|
||||
await tester.pump(); // Launch the demo.
|
||||
await tester.pump(const Duration(seconds: 1)); // Wait until the demo has opened.
|
||||
|
||||
expect(find.text('Flutter Gallery'), findsNothing);
|
||||
await tester
|
||||
.pump(const Duration(seconds: 1)); // Wait until the demo has opened.
|
||||
|
||||
// Go back
|
||||
if (routeName == '/pesto') {
|
||||
|
@ -65,9 +64,9 @@ Future<Null> smokeDemo(WidgetTester tester, String routeName) async {
|
|||
}
|
||||
|
||||
void main() {
|
||||
// TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.ensureInitialized();
|
||||
// if (binding is LiveTestWidgetsFlutterBinding)
|
||||
// binding.allowAllFrames = true;
|
||||
TestWidgetsFlutterBinding binding =
|
||||
TestWidgetsFlutterBinding.ensureInitialized();
|
||||
if (binding is LiveTestWidgetsFlutterBinding) binding.allowAllFrames = true;
|
||||
|
||||
testWidgets('Flutter Gallery app smoke test', (WidgetTester tester) async {
|
||||
flutter_gallery_main
|
||||
|
@ -88,17 +87,15 @@ void main() {
|
|||
final String routeName = routeNames[i];
|
||||
await smokeDemo(tester, routeName);
|
||||
await tester.scroll(findGalleryItemByRouteName(tester, routeName), new Offset(0.0, scrollDeltas[i]));
|
||||
await tester.pump(); // start the scroll
|
||||
await tester.pump(const Duration(milliseconds: 500)); // wait for overscroll to timeout, if necessary
|
||||
await tester.pump(const Duration(milliseconds: 2000)); // wait for overscroll to fade away, if necessary
|
||||
tester.binding.debugAssertNoTransientCallbacks('A transient callback was still active after leaving route $routeName');
|
||||
await tester.pump();
|
||||
}
|
||||
|
||||
Finder navigationMenuButton = findNavigationMenuButton(tester);
|
||||
expect(navigationMenuButton, findsOneWidget);
|
||||
await tester.tap(navigationMenuButton);
|
||||
await tester.pump(); // Start opening drawer.
|
||||
await tester.pump(const Duration(seconds: 1)); // Wait until it's really opened.
|
||||
await tester
|
||||
.pump(const Duration(seconds: 1)); // Wait until it's really opened.
|
||||
|
||||
// switch theme
|
||||
await tester.tap(find.text('Dark'));
|
||||
|
|
|
@ -652,10 +652,7 @@ class ScrollableState<T extends Scrollable> extends State<T> {
|
|||
key: _gestureDetectorKey,
|
||||
gestures: buildGestureDetectors(),
|
||||
behavior: HitTestBehavior.opaque,
|
||||
child: new IgnorePointer(
|
||||
ignoring: _controller.isAnimating,
|
||||
child: buildContent(context)
|
||||
)
|
||||
child: buildContent(context)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
// Copyright 2016 The Chromium 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_test/flutter_test.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('fling and tap', (WidgetTester tester) async {
|
||||
List<String> log = <String>[];
|
||||
|
||||
List<Widget> textWidgets = <Widget>[];
|
||||
for (int i = 0; i < 250; i++)
|
||||
textWidgets.add(new GestureDetector(onTap: () { log.add('tap $i'); }, child: new Text('$i')));
|
||||
await tester.pumpWidget(new Block(children: textWidgets));
|
||||
|
||||
expect(log, equals(<String>[]));
|
||||
await tester.tap(find.byType(Scrollable));
|
||||
await tester.pump(const Duration(milliseconds: 50));
|
||||
expect(log, equals(<String>['tap 18']));
|
||||
await tester.fling(find.byType(Scrollable), new Offset(0.0, -200.0), 1000.0);
|
||||
await tester.pump(const Duration(milliseconds: 50));
|
||||
expect(log, equals(<String>['tap 18']));
|
||||
await tester.tap(find.byType(Scrollable));
|
||||
await tester.pump(const Duration(milliseconds: 50));
|
||||
expect(log, equals(<String>['tap 18']));
|
||||
});
|
||||
}
|
Loading…
Reference in a new issue