| // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | |
| // for details. 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:html'; | |
| import 'dart:isolate'; | |
| import 'package:expect/legacy/async_minitest.dart'; // ignore: deprecated_member_use | |
| worker(message) { | |
| var uri = message[0]; | |
| var replyTo = message[1]; | |
| try { | |
| var url = Url.createObjectUrl(new Blob([''], 'application/javascript')); | |
| Url.revokeObjectUrl(url); | |
| replyTo.send('Hello from Worker'); | |
| } catch (e) { | |
| replyTo.send('Error: $e'); | |
| } | |
| } | |
| main() { | |
| test('Use Worker API in Worker', () { | |
| var response = new ReceivePort(); | |
| var remote = Isolate.spawn(worker, ['', response.sendPort]); | |
| remote | |
| .then((_) => response.first) | |
| .then( | |
| expectAsync((reply) => expect(reply, equals('Hello from Worker'))), | |
| ); | |
| }); | |
| } |