mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

The widget under test already contains a MaterialApp, so there's no need to wrap it again with one in the test. In fact, the additional MaterialApp could hide problems in the widget under test.
40 lines
1.4 KiB
Dart
40 lines
1.4 KiB
Dart
// 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/gestures.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_api_samples/widgets/basic/mouse_region.0.dart' as example;
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void main() {
|
|
testWidgets('MouseRegion detects mouse entries, exists, and location', (WidgetTester tester) async {
|
|
await tester.pumpWidget(
|
|
const example.MouseRegionApp(),
|
|
);
|
|
|
|
expect(find.text('0 Entries\n0 Exits'), findsOneWidget);
|
|
expect(find.text('The cursor is here: (0.00, 0.00)'), findsOneWidget);
|
|
|
|
final TestGesture gesture = await tester.createGesture(kind: PointerDeviceKind.mouse);
|
|
await gesture.addPointer();
|
|
await gesture.moveTo(tester.getCenter(find.byType(ColoredBox)));
|
|
await tester.pump();
|
|
|
|
expect(find.text('1 Entries\n0 Exits'), findsOneWidget);
|
|
expect(find.text('The cursor is here: (400.00, 328.00)'), findsOneWidget);
|
|
|
|
await gesture.moveTo(
|
|
tester.getCenter(find.byType(ColoredBox)) + const Offset(50.0, 30.0),
|
|
);
|
|
await tester.pump();
|
|
|
|
expect(find.text('The cursor is here: (450.00, 358.00)'), findsOneWidget);
|
|
|
|
await gesture.moveTo(Offset.zero);
|
|
await tester.pump();
|
|
|
|
expect(find.text('1 Entries\n1 Exits'), findsOneWidget);
|
|
});
|
|
}
|