blob: 9ca841991b454fac6f5b0764efb34d59afbf915b [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/material.dart';
import 'package:flutter_gallery/demo/calculator_demo.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.ensureInitialized() as TestWidgetsFlutterBinding;
if (binding is LiveTestWidgetsFlutterBinding)
binding.framePolicy = LiveTestWidgetsFlutterBindingFramePolicy.fullyLive;
// We press the "1" and the "2" buttons and check that the display
// reads "12".
testWidgets('Flutter calculator app smoke test', (WidgetTester tester) async {
await tester.pumpWidget(const MaterialApp(home: CalculatorDemo()));
final Finder oneButton = find.widgetWithText(InkResponse, '1');
expect(oneButton, findsOneWidget);
final Finder twoButton = find.widgetWithText(InkResponse, '2');
expect(twoButton, findsOneWidget);
await tester.tap(oneButton);
await tester.pump();
await tester.tap(twoButton);
await tester.pump();
await tester.pump(const Duration(seconds: 1)); // Wait until it has finished.
final Finder display = find.widgetWithText(Expanded, '12');
expect(display, findsOneWidget);
});
}