
This reverts commit 92ef2b9ce1d4e54d5efb3e6a962e9e724dc7efeb. This requires either runApp() or WidgetsFlutterBinding.ensureInitialized() to have been called before using any MethodChannels. Plugins broadly rely on MethodChannels and right now there's no general requirements that they be constructed within the runApp call, so the ecosystem breakages from this are broader than originally thought. Reverting for now.
17 lines
640 B
Dart
17 lines
640 B
Dart
// 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/scheduler.dart';
|
|
import 'package:flutter/services.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void main() {
|
|
testWidgets('Does flutter_test catch leaking tickers?', (WidgetTester tester) async {
|
|
Ticker((Duration duration) { })..start();
|
|
|
|
final ByteData message = const StringCodec().encodeMessage('AppLifecycleState.paused');
|
|
await defaultBinaryMessenger.handlePlatformMessage('flutter/lifecycle', message, (_) {});
|
|
});
|
|
}
|