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