smoke_test.dart 1.29 KB
Newer Older
1 2 3 4 5
// 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/material.dart';
6
import 'package:flutter_gallery/demo/calculator_demo.dart';
7 8 9
import 'package:flutter_test/flutter_test.dart';

void main() {
10
  final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.ensureInitialized();
11
  if (binding is LiveTestWidgetsFlutterBinding)
12
    binding.framePolicy = LiveTestWidgetsFlutterBindingFramePolicy.fullyLive;
13 14 15

  // We press the "1" and the "2" buttons and check that the display
  // reads "12".
16
  testWidgets('Flutter calculator app smoke test', (WidgetTester tester) async {
17
    await tester.pumpWidget(new MaterialApp(home: const CalculatorDemo()));
18

19
    final Finder oneButton = find.widgetWithText(InkResponse, '1');
20 21
    expect(oneButton, findsOneWidget);

22
    final Finder twoButton = find.widgetWithText(InkResponse, '2');
23 24 25 26 27 28 29 30
    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.

31
    final Finder display = find.widgetWithText(Expanded, '12');
32 33 34
    expect(display, findsOneWidget);
  });
}