blob: 6dedbc17d53bdb00c946b15a49152860d3aa9432 [file] [log] [blame]
// 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/widgets.dart' as widgets show Container, Size, runApp;
import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart';
import 'package:integration_ui/resize.dart' as app;
void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
group('end-to-end test', () {
testWidgets('Use button to resize window',
timeout: const Timeout(Duration(seconds: 5)),
(WidgetTester tester) async {
const app.ResizeApp resizeApp = app.ResizeApp();
widgets.runApp(resizeApp);
await tester.pumpAndSettle();
final Finder fab = find.byKey(app.ResizeApp.extendedFab);
expect(fab, findsOneWidget);
final Finder root = find.byWidget(resizeApp);
final widgets.Size sizeBefore = tester.getSize(root);
await tester.tap(fab);
await tester.pumpAndSettle();
final widgets.Size sizeAfter = tester.getSize(root);
expect(sizeAfter.width, equals(sizeBefore.width + app.ResizeApp.resizeBy));
expect(sizeAfter.height, equals(sizeBefore.height + app.ResizeApp.resizeBy));
final Finder widthLabel = find.byKey(app.ResizeApp.widthLabel);
expect(widthLabel, findsOneWidget);
expect(find.text('width: ${sizeAfter.width}'), findsOneWidget);
final Finder heightLabel = find.byKey(app.ResizeApp.heightLabel);
expect(heightLabel, findsOneWidget);
expect(find.text('height: ${sizeAfter.height}'), findsOneWidget);
});
});
testWidgets('resize window after calling runApp twice, the second with no content',
timeout: const Timeout(Duration(seconds: 5)),
(WidgetTester tester) async {
const app.ResizeApp root = app.ResizeApp();
widgets.runApp(root);
widgets.runApp(widgets.Container());
await tester.pumpAndSettle();
const widgets.Size expectedSize = widgets.Size(100, 100);
await app.ResizeApp.resize(expectedSize);
});
}