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

Side by Side Diff: tests/html/js_interop_3_test.dart

Issue 12218131: Combine window.setTimeout/setInterval with Timer and Timer.repeating. Also (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 library JsInterop3Test; 5 library JsInterop3Test;
6 import '../../pkg/unittest/lib/unittest.dart'; 6 import '../../pkg/unittest/lib/unittest.dart';
7 import '../../pkg/unittest/lib/html_config.dart'; 7 import '../../pkg/unittest/lib/html_config.dart';
8 import 'dart:html'; 8 import 'dart:html';
9 import 'dart:isolate'; 9 import 'dart:isolate';
10 import 'dart:async';
10 11
11 injectSource(code) { 12 injectSource(code) {
12 final script = new ScriptElement(); 13 final script = new ScriptElement();
13 script.type = 'text/javascript'; 14 script.type = 'text/javascript';
14 script.innerHtml = code; 15 script.innerHtml = code;
15 document.body.nodes.add(script); 16 document.body.nodes.add(script);
16 } 17 }
17 18
18 var jsToDart = """ 19 var jsToDart = """
19 var fun1 = window.lookupPort('fun1'); 20 var fun1 = window.lookupPort('fun1');
(...skipping 16 matching lines...) Expand all
36 }; 37 };
37 38
38 var port1 = new ReceivePortSync(); 39 var port1 = new ReceivePortSync();
39 port1.receive(fun1); 40 port1.receive(fun1);
40 window.registerPort('fun1', port1.toSendPort()); 41 window.registerPort('fun1', port1.toSendPort());
41 42
42 // TODO(vsm): Investigate why this needs to be called asynchronously. 43 // TODO(vsm): Investigate why this needs to be called asynchronously.
43 var done = expectAsync0(() {}); 44 var done = expectAsync0(() {});
44 var fun2 = (message) { 45 var fun2 = (message) {
45 expect(message, 42); 46 expect(message, 42);
46 window.setTimeout(done, 0); 47 new Timer(const Duration(milliseconds: 0), done);
floitsch 2013/02/13 10:03:07 Timer.run
Emily Fortuna 2013/02/13 20:19:44 Done.
47 }; 48 };
48 49
49 var port2 = new ReceivePortSync(); 50 var port2 = new ReceivePortSync();
50 port2.receive(fun2); 51 port2.receive(fun2);
51 window.registerPort('fun2', port2.toSendPort()); 52 window.registerPort('fun2', port2.toSendPort());
52 53
53 injectSource(jsToDart); 54 injectSource(jsToDart);
54 }); 55 });
55 } 56 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698