| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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('timer_test'); | 5 #library('timer_test'); |
| 6 | 6 |
| 7 #import("dart:isolate"); | 7 #import("dart:isolate"); |
| 8 #import('../../pkg/unittest/unittest.dart'); |
| 8 | 9 |
| 9 class TimerTest { | 10 const int STARTTIMEOUT = 1050; |
| 11 const int DECREASE = 200; |
| 12 const int ITERATIONS = 5; |
| 10 | 13 |
| 11 static const int _STARTTIMEOUT = 1050; | 14 int startTime; |
| 12 static const int _DECREASE = 200; | 15 int timeout; |
| 13 static const int _ITERATIONS = 5; | 16 int iteration; |
| 14 | 17 |
| 15 static void testSimpleTimer() { | 18 void timeoutHandler(Timer timer) { |
| 16 | 19 int endTime = (new Date.now()).millisecondsSinceEpoch; |
| 17 void timeoutHandler(Timer timer) { | 20 expect((endTime - startTime) >= timeout); |
| 18 int endTime = (new Date.now()).millisecondsSinceEpoch; | 21 if (iteration < ITERATIONS) { |
| 19 Expect.equals(true, (endTime - _startTime) >= _timeout); | 22 iteration++; |
| 20 if (_iteration < _ITERATIONS) { | 23 timeout = timeout - DECREASE; |
| 21 _iteration++; | 24 startTime = (new Date.now()).millisecondsSinceEpoch; |
| 22 _timeout = _timeout - _DECREASE; | 25 new Timer(timeout, expectAsync1(timeoutHandler)); |
| 23 _startTime = (new Date.now()).millisecondsSinceEpoch; | |
| 24 new Timer(_timeout, timeoutHandler); | |
| 25 } | |
| 26 } | |
| 27 | |
| 28 _iteration = 0; | |
| 29 _timeout = _STARTTIMEOUT; | |
| 30 _startTime = (new Date.now()).millisecondsSinceEpoch; | |
| 31 new Timer(_timeout, timeoutHandler); | |
| 32 } | 26 } |
| 33 | |
| 34 static void testMain() { | |
| 35 testSimpleTimer(); | |
| 36 } | |
| 37 | |
| 38 static int _startTime; | |
| 39 static int _timeout; | |
| 40 static int _iteration; | |
| 41 } | 27 } |
| 42 | 28 |
| 43 main() { | 29 main() { |
| 44 TimerTest.testMain(); | 30 test("timeout test", () { |
| 31 iteration = 0; |
| 32 timeout = STARTTIMEOUT; |
| 33 startTime = (new Date.now()).millisecondsSinceEpoch; |
| 34 new Timer(timeout, expectAsync1(timeoutHandler)); |
| 35 }); |
| 45 } | 36 } |
| OLD | NEW |