diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a0efb606..93485ef68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.12.38+3 + +* Fix Dart 2 runtime errors around communicating with browsers. + + ## 0.12.38+2 * Fix more Dart 2 runtime type errors. diff --git a/lib/src/runner/browser/browser_manager.dart b/lib/src/runner/browser/browser_manager.dart index 7222fc361..4e6d14cb3 100644 --- a/lib/src/runner/browser/browser_manager.dart +++ b/lib/src/runner/browser/browser_manager.dart @@ -171,7 +171,7 @@ class BrowserManager { // Whenever we get a message, no matter which child channel it's for, we the // know browser is still running code which means the user isn't debugging. _channel = new MultiChannel( - webSocket.transform(jsonDocument).changeStream((stream) { + webSocket.cast().transform(jsonDocument).changeStream((stream) { return stream.map((message) { if (!_closed) _timer.reset(); for (var controller in _controllers) { @@ -219,15 +219,15 @@ class BrowserManager { // The virtual channel will be closed when the suite is closed, in which // case we should unload the iframe. - var suiteChannel = _channel.virtualChannel(); - var suiteChannelID = suiteChannel.id; - suiteChannel = suiteChannel + var virtualChannel = _channel.virtualChannel(); + var suiteChannelID = virtualChannel.id; + var suiteChannel = virtualChannel .transformStream(new StreamTransformer.fromHandlers(handleDone: (sink) { closeIframe(); sink.close(); })); - return await _pool.withResource>(() async { + return await _pool.withResource(() async { _channel.sink.add({ "command": "loadSuite", "url": url.toString(), diff --git a/pubspec.yaml b/pubspec.yaml index b887bf3f5..4a624927d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: test -version: 0.12.38+2 +version: 0.12.38+3 author: Dart Team description: A library for writing dart unit tests. homepage: https://github.com/dart-lang/test