Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(338)

Side by Side Diff: tests/isolate/spawn_function_custom_class_test.dart

Issue 27215002: Very simple version of Isolates. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments. Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tests/isolate/request_reply_test.dart ('k') | tests/isolate/spawn_function_negative_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // Create a user-defined class in a new isolate. 5 // Create a user-defined class in a new isolate.
6 // 6 //
7 // Regression test for vm bug 2235: We were forgetting to finalize 7 // Regression test for vm bug 2235: We were forgetting to finalize
8 // classes in new isolates started using the v2 api. 8 // classes in new isolates started using the v2 api.
9 9
10 library spawn_tests; 10 library spawn_tests;
11 import 'dart:isolate'; 11 import 'dart:isolate';
12 import '../../pkg/unittest/lib/unittest.dart'; 12 import '../../pkg/unittest/lib/unittest.dart';
13 13
14 class MyClass { 14 class MyClass {
15 var myVar = 'there'; 15 var myVar = 'there';
16 myFunc(msg) { 16 myFunc(msg) {
17 return '$msg $myVar'; 17 return '$msg $myVar';
18 } 18 }
19 } 19 }
20 20
21 child() { 21 child(args) {
22 port.receive((msg, reply) { 22 var reply = args[1];
23 reply.send('re: ${new MyClass().myFunc(msg)}'); 23 var msg = args[0];
24 }); 24 reply.send('re: ${new MyClass().myFunc(msg)}');
25 } 25 }
26 26
27 main() { 27 main() {
28 test('message - reply chain', () { 28 test('message - reply chain', () {
29 ReceivePort port = new ReceivePort(); 29 ReceivePort port = new ReceivePort();
30 port.receive((msg, _) { 30 Isolate.spawn(child, ['hi', port.sendPort]);
31 port.listen((msg) {
31 port.close(); 32 port.close();
32 expect(msg, equals('re: hi there')); 33 expect(msg, equals('re: hi there'));
33 }); 34 });
34
35 SendPort s = spawnFunction(child);
36 s.send('hi', port.toSendPort());
37 }); 35 });
38 } 36 }
OLDNEW
« no previous file with comments | « tests/isolate/request_reply_test.dart ('k') | tests/isolate/spawn_function_negative_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698