blob: c3330fb29d6011d8d753292dea6d92082e003742 [file] [log] [blame]
// Copyright 2013 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 'dart:isolate';
import 'dart:ui';
import 'package:litetest/litetest.dart';
void main() {
test('Invalid isolate URI', () async {
bool threw = false;
try {
await Isolate.spawnUri(
Uri.parse('http://127.0.0.1/foo.dart'),
<String>[],
null,
);
} on IsolateSpawnException {
threw = true;
}
expect(threw, true);
});
test('UI isolate API throws in a background isolate', () async {
void callUiApi(void message) {
PlatformDispatcher.instance.onReportTimings = (_) {};
}
final ReceivePort errorPort = ReceivePort();
await Isolate.spawn<void>(callUiApi, null, onError: errorPort.sendPort);
final List<dynamic> isolateError = await errorPort.first as List<dynamic>;
expect(isolateError[0], 'UI actions are only available on root isolate.');
});
}