9163dfe93c
TBR=rnystrom Review URL: https://codereview.chromium.org//10928216 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12413 260f80e4-7a28-3924-810f-c04153c831b5
39 lines
1.2 KiB
Dart
39 lines
1.2 KiB
Dart
#library('SerializedScriptValueTest');
|
|
#import('../../pkg/unittest/unittest.dart');
|
|
#import('../../pkg/unittest/html_config.dart');
|
|
#import('dart:html');
|
|
#import('utils.dart');
|
|
|
|
serializationTest(name, value) => test(name, () {
|
|
// To check how value is serialized and deserialized, we create a MessageEvent.
|
|
final event = document.$dom_createEvent('MessageEvent');
|
|
event.initMessageEvent('', false, false, value, '', '', window, []);
|
|
verifyGraph(value, event.data);
|
|
});
|
|
|
|
|
|
main() {
|
|
useHtmlConfiguration();
|
|
|
|
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);
|
|
}
|