| // 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. | |
| // TODO(gspencergoog): Remove this tag once this test's state leaks/test | |
| // dependencies have been fixed. | |
| // https://github.com/flutter/flutter/issues/85160 | |
| // Fails with "flutter test --test-randomize-ordering-seed=20210721" | |
| @Tags(<String>['no-shuffle']) | |
| import 'dart:io'; | |
| import 'package:flutter/widgets.dart'; | |
| import 'package:flutter_test/flutter_test.dart'; | |
| // ignore: deprecated_member_use | |
| import 'package:test_api/test_api.dart' as test_package; | |
| void main() { | |
| final AutomatedTestWidgetsFlutterBinding binding = AutomatedTestWidgetsFlutterBinding(); | |
| group(TestViewConfiguration, () { | |
| test('is initialized with top-level window if one is not provided', () { | |
| // The code below will throw without the default. | |
| TestViewConfiguration(size: const Size(1280.0, 800.0)); | |
| }); | |
| }); | |
| group(AutomatedTestWidgetsFlutterBinding, () { | |
| test('allows setting defaultTestTimeout to 5 minutes', () { | |
| binding.defaultTestTimeout = const test_package.Timeout(Duration(minutes: 5)); | |
| expect(binding.defaultTestTimeout.duration, const Duration(minutes: 5)); | |
| }); | |
| }); | |
| // The next three tests must run in order -- first using `test`, then `testWidgets`, then `test` again. | |
| int order = 0; | |
| test('Initializes httpOverrides and testTextInput', () async { | |
| assert(order == 0); | |
| expect(binding.testTextInput, isNotNull); | |
| expect(binding.testTextInput.isRegistered, isFalse); | |
| expect(HttpOverrides.current, isNotNull); | |
| order += 1; | |
| }); | |
| testWidgets('Registers testTextInput', (WidgetTester tester) async { | |
| assert(order == 1); | |
| expect(tester.testTextInput.isRegistered, isTrue); | |
| order += 1; | |
| }); | |
| test('Unregisters testTextInput', () async { | |
| assert(order == 2); | |
| expect(binding.testTextInput.isRegistered, isFalse); | |
| order += 1; | |
| }); | |
| } |