mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 15:09:04 +00:00
38 lines
1.4 KiB
Dart
38 lines
1.4 KiB
Dart
|
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'));
|
||
|
});
|
||
|
}
|