Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(301)

Unified Diff: client/tests/client/dom/SerializedScriptValueTest.dart

Issue 10079008: Add SerializedScriptValueTest. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressing commetns Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « client/tests/client/dom/IndexedDB2Test.dart ('k') | client/tests/client/dom/utils.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: client/tests/client/dom/SerializedScriptValueTest.dart
diff --git a/client/tests/client/dom/SerializedScriptValueTest.dart b/client/tests/client/dom/SerializedScriptValueTest.dart
new file mode 100644
index 0000000000000000000000000000000000000000..6e609822c5d2ac18e51cc501c974a319982a73f1
--- /dev/null
+++ b/client/tests/client/dom/SerializedScriptValueTest.dart
@@ -0,0 +1,38 @@
+#library('SerializedScriptValueTest');
+#import('../../../../lib/unittest/unittest.dart');
+#import('../../../../lib/unittest/dom_config.dart');
+#import('dart:dom');
+#import('utils.dart');
+
+serializationTest(name, value) => test(name, () {
+ // To check how value is serialized and deserialized, we create a MessageEvent.
+ final event = document.createEvent('MessageEvent');
+ event.initMessageEvent('', false, false, value, '', '', window, []);
+ verifyGraph(value, event.data);
+});
+
+
+main() {
+ useDomConfiguration();
+
+ 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);
+}
« no previous file with comments | « client/tests/client/dom/IndexedDB2Test.dart ('k') | client/tests/client/dom/utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698