Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011, 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 #import("dart:io"); | 5 #import("dart:io"); |
| 6 | 6 |
| 7 class TimerCancelTest { | 7 void testSimpleTimer() { |
| 8 Timer cancelTimer; | |
| 9 int repeatTimer; | |
| 8 | 10 |
| 9 static void testSimpleTimer() { | 11 void timeoutHandlerUnreachable(Timer timer) { |
| 10 | 12 Expect.equals(true, false); |
| 11 void timeoutHandlerUnreachable(Timer timer) { | |
| 12 Expect.equals(true, false); | |
| 13 } | |
| 14 | |
| 15 void timeoutHandler(Timer timer) { | |
| 16 cancelTimer.cancel(); | |
| 17 } | |
| 18 | |
| 19 void timeoutHandlerRepeat(Timer timer) { | |
| 20 repeatTimer++; | |
| 21 timer.cancel(); | |
| 22 Expect.equals(true, repeatTimer == 1); | |
| 23 } | |
| 24 | |
| 25 cancelTimer = new Timer(timeoutHandlerUnreachable, 1000); | |
| 26 cancelTimer.cancel(); | |
| 27 new Timer(timeoutHandler, 1000); | |
| 28 cancelTimer = new Timer(timeoutHandlerUnreachable, 2000); | |
| 29 repeatTimer = 0; | |
| 30 new Timer.repeating(timeoutHandlerRepeat, 1500); | |
| 31 } | 13 } |
| 32 | 14 |
| 33 static void testMain() { | 15 void timeoutHandler(Timer timer) { |
| 34 testSimpleTimer(); | 16 cancelTimer.cancel(); |
| 35 } | 17 } |
| 36 | 18 |
| 37 static Timer cancelTimer; | 19 void timeoutHandlerRepeat(Timer timer) { |
| 38 static int repeatTimer; | 20 repeatTimer++; |
| 21 timer.cancel(); | |
| 22 Expect.equals(true, repeatTimer == 1); | |
| 23 } | |
| 24 | |
| 25 cancelTimer = new Timer(timeoutHandlerUnreachable, 1000); | |
| 26 cancelTimer.cancel(); | |
| 27 new Timer(timeoutHandler, 1000); | |
| 28 cancelTimer = new Timer(timeoutHandlerUnreachable, 2000); | |
| 29 repeatTimer = 0; | |
| 30 new Timer.repeating(timeoutHandlerRepeat, 1500); | |
| 31 } | |
| 32 | |
| 33 void testCancelTimerWithSameTime() { | |
| 34 var t2; | |
|
Søren Gjesse
2012/02/28 07:40:25
Does the API specify that timers with the same tim
Mads Ager (google)
2012/02/28 08:21:00
Good point. I have changed the test so the timer t
| |
| 35 var t1 = new Timer((t) => t2.cancel(), 0); | |
| 36 t2 = new Timer((t) => Expect.fail("Should have been cancelled"), 0); | |
| 39 } | 37 } |
| 40 | 38 |
| 41 main() { | 39 main() { |
| 42 TimerCancelTest.testMain(); | 40 testSimpleTimer(); |
| 41 testCancelTimerWithSameTime(); | |
| 43 } | 42 } |
| OLD | NEW |