Index: test/codegen/lib/html/async_periodictimer.dart |
diff --git a/test/codegen/lib/html/async_periodictimer.dart b/test/codegen/lib/html/async_periodictimer.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4d647c51fdafbfb22c353f53448c924f492551a1 |
--- /dev/null |
+++ b/test/codegen/lib/html/async_periodictimer.dart |
@@ -0,0 +1,24 @@ |
+library async_periodictimer; |
+ |
+import 'dart:async'; |
+import 'package:unittest/unittest.dart'; |
+ |
+main(message, replyTo) { |
+ var command = message.first; |
+ expect(command, 'START'); |
+ int counter = 0; |
+ new Timer.periodic(const Duration(milliseconds: 10), (timer) { |
+ if (counter == 3) { |
+ counter = 1024; |
+ timer.cancel(); |
+ // Wait some more time to be sure callback won't be invoked any |
+ // more. |
+ new Timer(const Duration(milliseconds: 30), () { |
+ replyTo.send('DONE'); |
+ }); |
+ return; |
+ } |
+ assert(counter < 3); |
+ counter++; |
+ }); |
+} |