library async_spawnuri_test; import 'package:unittest/unittest.dart'; import 'package:unittest/html_config.dart'; import 'dart:async'; import 'dart:isolate'; import 'dart:html'; // OtherScripts=async_oneshot.dart async_periodictimer.dart async_cancellingisolate.dart main() { useHtmlConfiguration(); test('one shot timer in pure isolate', () { var response = new ReceivePort(); var remote = Isolate.spawnUri( Uri.parse('async_oneshot.dart'), ['START'], response.sendPort); remote.catchError((x) => expect("Error in oneshot isolate", x)); expect(remote.then((_) => response.first), completion('DONE')); }); test('periodic timer in pure isolate', () { var response = new ReceivePort(); var remote = Isolate.spawnUri( Uri.parse('async_periodictimer.dart'), ['START'], response.sendPort); remote.catchError((x) => expect("Error in periodic timer isolate", x)); expect(remote.then((_) => response.first), completion('DONE')); }); test('cancellation in pure isolate', () { var response = new ReceivePort(); var remote = Isolate.spawnUri(Uri.parse('async_cancellingisolate.dart'), ['START'], response.sendPort); remote.catchError((x) => expect("Error in cancelling isolate", x)); expect(remote.then((_) => response.first), completion('DONE')); }); }