|  | // 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'))), | 
|  | ); | 
|  | }); | 
|  | } |