dart-sdk/tests/lib_2/html/serialized_script_value_test.dart
Jakob Roland Andersen d2cd2a4720 Migrated test batch 209 to Dart 2.0.
Bug:
Change-Id: If23630da318547e3beaf417a5ad97b30f6ffcbd3
Reviewed-on: https://dart-review.googlesource.com/10340
Reviewed-by: Florian Loitsch <floitsch@google.com>
Commit-Queue: Jakob Roland Andersen <jakobr@google.com>
2017-10-03 13:02:49 +00:00

51 lines
1.4 KiB
Dart

import 'dart:html';
import 'package:expect/minitest.dart';
import 'utils.dart';
serializationTest(name, value) {
test(name, () {
// To check how value is serialized and deserialized, we create a
// MessageEvent.
final event =
new MessageEvent('', data: value, origin: '', lastEventId: '');
verifyGraph(value, event.data);
});
}
main() {
serializationTest('null', null);
serializationTest('int', 1);
serializationTest('double', 2.39);
serializationTest('string', 'hey!');
final simpleMap = {'a': 100, 'b': 's'};
final dagMap = {'x': simpleMap, 'y': simpleMap};
final cyclicMap = {'b': dagMap};
cyclicMap['a'] = cyclicMap;
serializationTest('simple map', simpleMap);
serializationTest('dag map', dagMap);
serializationTest('cyclic map', cyclicMap);
final simpleList = [100, 's'];
final dagList = [simpleList, simpleList];
final cyclicList = [dagList];
cyclicList.add(cyclicList);
serializationTest('simple list', simpleList);
serializationTest('dag list', dagList);
serializationTest('cyclic list', cyclicList);
serializationTest('datetime', [new DateTime.now()]);
var blob = new Blob(
['Indescribable... Indestructible! Nothing can stop it!'], 'text/plain');
serializationTest('blob', [blob]);
var canvas = new CanvasElement();
canvas.width = 100;
canvas.height = 100;
var imageData = canvas.context2D.getImageData(0, 0, 1, 1);
serializationTest('imagedata', [imageData]);
}