| // 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; |
| }); |
| } |