Unverified Commit a341da6e authored by Jia Hao's avatar Jia Hao Committed by GitHub

[flutter_tools] Don't stringify null values in EventPrinter (#76579)

parent 2d0fa57c
...@@ -22,7 +22,7 @@ class EventPrinter extends TestWatcher { ...@@ -22,7 +22,7 @@ class EventPrinter extends TestWatcher {
@override @override
void handleStartedDevice(Uri observatoryUri) { void handleStartedDevice(Uri observatoryUri) {
_sendEvent('test.startedProcess', _sendEvent('test.startedProcess',
<String, dynamic>{'observatoryUri': observatoryUri.toString()}); <String, dynamic>{'observatoryUri': observatoryUri?.toString()});
_parent?.handleStartedDevice(observatoryUri); _parent?.handleStartedDevice(observatoryUri);
} }
......
...@@ -11,15 +11,48 @@ import 'package:mockito/mockito.dart'; ...@@ -11,15 +11,48 @@ import 'package:mockito/mockito.dart';
import '../../src/common.dart'; import '../../src/common.dart';
void main() { void main() {
testWithoutContext('EventPrinter handles a null parent', () { group(EventPrinter, () {
final EventPrinter eventPrinter = EventPrinter(out: StringBuffer());
final _Device device = _Device();
final Uri observatoryUri = Uri.parse('http://localhost:1234'); final Uri observatoryUri = Uri.parse('http://localhost:1234');
EventPrinter eventPrinter;
StringBuffer output;
expect(() => eventPrinter.handleFinishedTest(device), returnsNormally); setUp(() {
expect(() => eventPrinter.handleStartedDevice(observatoryUri), returnsNormally); output = StringBuffer();
expect(() => eventPrinter.handleTestCrashed(device), returnsNormally); eventPrinter = EventPrinter(out: output);
expect(() => eventPrinter.handleTestTimedOut(device), returnsNormally); });
testWithoutContext('handles a null parent', () {
final _Device device = _Device();
expect(() => eventPrinter.handleFinishedTest(device), returnsNormally);
expect(() => eventPrinter.handleStartedDevice(observatoryUri), returnsNormally);
expect(() => eventPrinter.handleTestCrashed(device), returnsNormally);
expect(() => eventPrinter.handleTestTimedOut(device), returnsNormally);
});
group('handleStartedDevice', () {
testWithoutContext('with non-null observatory', () {
eventPrinter.handleStartedDevice(observatoryUri);
expect(
output.toString(),
'\n'
'[{"event":"test.startedProcess","params":{"observatoryUri":"http://localhost:1234"}}]'
'\n',
);
});
testWithoutContext('with null observatory', () {
eventPrinter.handleStartedDevice(null);
expect(
output.toString(),
'\n'
'[{"event":"test.startedProcess","params":{"observatoryUri":null}}]'
'\n',
);
});
});
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment