| OLD | NEW |
| 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 // 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 MessageTest; | 8 library MessageTest; |
| 9 import 'dart:async'; | 9 import 'dart:async'; |
| 10 import 'dart:collection'; | 10 import 'dart:collection'; |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 204 Expect.equals(8, entry2.w); | 204 Expect.equals(8, entry2.w); |
| 205 } | 205 } |
| 206 ) /// int32x4: ok | 206 ) /// int32x4: ok |
| 207 ; | 207 ; |
| 208 | 208 |
| 209 ping.send({"foo": 499, "bar": 32}); | 209 ping.send({"foo": 499, "bar": 32}); |
| 210 checks.add((x) { | 210 checks.add((x) { |
| 211 Expect.isTrue(x is LinkedHashMap); | 211 Expect.isTrue(x is LinkedHashMap); |
| 212 Expect.listEquals(["foo", "bar"], x.keys.toList()); | 212 Expect.listEquals(["foo", "bar"], x.keys.toList()); |
| 213 Expect.listEquals([499, 32], x.values.toList()); | 213 Expect.listEquals([499, 32], x.values.toList()); |
| 214 Expect.equals(499, x["foo"]); |
| 215 Expect.equals(32, x["bar"]); |
| 214 // Must be mutable. | 216 // Must be mutable. |
| 215 x["foo"] = 22; | 217 x["foo"] = 22; |
| 216 Expect.equals(22, x["foo"]); | 218 Expect.equals(22, x["foo"]); |
| 217 // Must be extendable. | 219 // Must be extendable. |
| 218 x["gee"] = 499; | 220 x["gee"] = 499; |
| 219 Expect.equals(499, x["gee"]); | 221 Expect.equals(499, x["gee"]); |
| 220 }); | 222 }); |
| 221 | 223 |
| 224 Map<String, int> mapWithRemovedKey = {"foo": 499, "bar": 32}; |
| 225 mapWithRemovedKey.remove("foo"); |
| 226 ping.send(mapWithRemovedKey); |
| 227 checks.add((x) { |
| 228 Expect.isTrue(x is LinkedHashMap); |
| 229 Expect.listEquals(["bar"], x.keys.toList()); |
| 230 Expect.listEquals([32], x.values.toList()); |
| 231 Expect.equals(32, x["bar"]); |
| 232 }); |
| 233 |
| 234 // Test map where a key does not define ==/hashCode. |
| 235 Map<A, int> mapWithIdentityKey = new Map<A, int>(); |
| 236 mapWithIdentityKey[new A()] = 499; |
| 237 ping.send(mapWithIdentityKey); |
| 238 checks.add((x) { |
| 239 Expect.isTrue(x is LinkedHashMap); |
| 240 int value = x.values.first; |
| 241 Expect.equals(499, value); |
| 242 A key = x.keys.first; |
| 243 Expect.equals(499, x[key]); |
| 244 }); |
| 245 |
| 222 ping.send({0: 499, 1: 32}); | 246 ping.send({0: 499, 1: 32}); |
| 223 checks.add((x) { | 247 checks.add((x) { |
| 224 Expect.isTrue(x is LinkedHashMap); | 248 Expect.isTrue(x is LinkedHashMap); |
| 225 Expect.listEquals([0, 1], x.keys.toList()); | 249 Expect.listEquals([0, 1], x.keys.toList()); |
| 226 Expect.listEquals([499, 32], x.values.toList()); | 250 Expect.listEquals([499, 32], x.values.toList()); |
| 227 // Must be mutable. | 251 // Must be mutable. |
| 228 x[0] = 22; | 252 x[0] = 22; |
| 229 Expect.equals(22, x[0]); | 253 Expect.equals(22, x[0]); |
| 230 // Must be extendable. | 254 // Must be extendable. |
| 231 x["gee"] = 499; | 255 x["gee"] = 499; |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 .spawn(echoMain, [initialReplyPort.sendPort, testPort.sendPort]) | 453 .spawn(echoMain, [initialReplyPort.sendPort, testPort.sendPort]) |
| 430 .then((_) => initialReplyPort.first) | 454 .then((_) => initialReplyPort.first) |
| 431 .then((SendPort ping) { | 455 .then((SendPort ping) { |
| 432 runTests(ping, checks); | 456 runTests(ping, checks); |
| 433 Expect.isTrue(checks.length > 0); | 457 Expect.isTrue(checks.length > 0); |
| 434 completer.future | 458 completer.future |
| 435 .then((_) => ping.send("halt")) | 459 .then((_) => ping.send("halt")) |
| 436 .then((_) => asyncEnd()); | 460 .then((_) => asyncEnd()); |
| 437 }); | 461 }); |
| 438 } | 462 } |
| OLD | NEW |