diff --git a/packages/flutter_tools/lib/src/test/event_printer.dart b/packages/flutter_tools/lib/src/test/event_printer.dart index 7111e90b0f0..7bbf071c1e4 100644 --- a/packages/flutter_tools/lib/src/test/event_printer.dart +++ b/packages/flutter_tools/lib/src/test/event_printer.dart @@ -24,17 +24,17 @@ class EventPrinter extends TestWatcher { @override Future handleTestCrashed(ProcessEvent event) async { - return _parent.handleTestCrashed(event); + return _parent?.handleTestCrashed(event); } @override Future handleTestTimedOut(ProcessEvent event) async { - return _parent.handleTestTimedOut(event); + return _parent?.handleTestTimedOut(event); } @override Future handleFinishedTest(ProcessEvent event) async { - return _parent.handleFinishedTest(event); + return _parent?.handleFinishedTest(event); } void _sendEvent(String name, [ dynamic params ]) { diff --git a/packages/flutter_tools/test/general.shard/tester/event_printer_test.dart b/packages/flutter_tools/test/general.shard/tester/event_printer_test.dart new file mode 100644 index 00000000000..558bb28c130 --- /dev/null +++ b/packages/flutter_tools/test/general.shard/tester/event_printer_test.dart @@ -0,0 +1,21 @@ +// 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_tools/src/test/event_printer.dart'; +import 'package:flutter_tools/src/test/watcher.dart'; + +import '../../src/common.dart'; +import '../../src/mocks.dart'; + +void main() { + testWithoutContext('EventPrinter handles a null parent', () { + final EventPrinter eventPrinter = EventPrinter(out: StringBuffer()); + final ProcessEvent processEvent = ProcessEvent(0, FakeProcess()); + + expect(() => eventPrinter.handleFinishedTest(processEvent), returnsNormally); + expect(() => eventPrinter.handleStartedProcess(processEvent), returnsNormally); + expect(() => eventPrinter.handleTestCrashed(processEvent), returnsNormally); + expect(() => eventPrinter.handleTestTimedOut(processEvent), returnsNormally); + }); +}