| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 // Dart test program for testing serialization of messages. | 5 // Dart test program for testing serialization of messages. |
| 6 // VMOptions=--enable_type_checks --enable_asserts | 6 // VMOptions=--enable_type_checks --enable_asserts |
| 7 | 7 |
| 8 #library('Message2Test'); | 8 #library('Message2Test'); |
| 9 #import("dart:isolate"); | 9 #import("dart:isolate"); |
| 10 #import("TestFramework.dart"); | 10 |
| 11 #import('../../../lib/unittest/unittest.dart'); |
| 11 | 12 |
| 12 // --------------------------------------------------------------------------- | 13 // --------------------------------------------------------------------------- |
| 13 // Message passing test 2. | 14 // Message passing test 2. |
| 14 // --------------------------------------------------------------------------- | 15 // --------------------------------------------------------------------------- |
| 15 | 16 |
| 16 class MessageTest { | 17 class MessageTest { |
| 17 static void mapEqualsDeep(Map expected, Map actual) { | 18 static void mapEqualsDeep(Map expected, Map actual) { |
| 18 Expect.equals(true, expected is Map); | 19 Expect.equals(true, expected is Map); |
| 19 Expect.equals(true, actual is Map); | 20 Expect.equals(true, actual is Map); |
| 20 Expect.equals(expected.length, actual.length); | 21 Expect.equals(expected.length, actual.length); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 50 this.port.close(); | 51 this.port.close(); |
| 51 } else { | 52 } else { |
| 52 // Bounce the received object back so that the sender | 53 // Bounce the received object back so that the sender |
| 53 // can make sure that the object matches. | 54 // can make sure that the object matches. |
| 54 replyTo.send(message, null); | 55 replyTo.send(message, null); |
| 55 } | 56 } |
| 56 }); | 57 }); |
| 57 } | 58 } |
| 58 } | 59 } |
| 59 | 60 |
| 60 void test(TestExpectation expect) { | 61 main() { |
| 61 expect.completes(new PingPongServer().spawn()).then((SendPort remote) { | 62 test("map is equal after it is sent back and forth", () { |
| 62 Map m = new Map(); | 63 new PingPongServer().spawn().then(expectAsync1((SendPort remote) { |
| 63 m[1] = "eins"; | 64 Map m = new Map(); |
| 64 m[2] = "deux"; | 65 m[1] = "eins"; |
| 65 m[3] = "tre"; | 66 m[2] = "deux"; |
| 66 m[4] = "four"; | 67 m[3] = "tre"; |
| 67 remote.call(m).then(expect.runs1((var received) { | 68 m[4] = "four"; |
| 68 MessageTest.mapEqualsDeep(m, received); | 69 remote.call(m).then(expectAsync1((var received) { |
| 69 remote.send(-1, null); | 70 MessageTest.mapEqualsDeep(m, received); |
| 70 expect.succeeded(); | 71 remote.send(-1, null); |
| 72 })); |
| 71 })); | 73 })); |
| 72 }); | 74 }); |
| 73 } | 75 } |
| 74 | |
| 75 main() { | |
| 76 runTests([test]); | |
| 77 } | |
| OLD | NEW |