Files
sdk/tests/lib/async/schedule_microtask3_test.dart
T
Zachary Anderson 63c4b6b1cb Revert "Remove package:unittest from some tests"
This reverts commit dde47b2aad.

Revert "Update Dartium status for passing test"

This reverts commit d71c70d56d.

Tests failing on dart2js and async_star_pause_test is
passing on Dartium. Need to think about how to update the
status files.

Review-Url: https://codereview.chromium.org/2656503004 .
2017-01-25 11:06:58 -08:00

40 lines
1.1 KiB
Dart

// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
library run_async_test;
import 'dart:async';
import 'package:expect/expect.dart';
import 'package:unittest/unittest.dart';
main() {
test("run async timer after async test", () {
// Check that Timers don't run before the async callbacks.
bool timerCallbackExecuted = false;
Timer.run(expectAsync(() { timerCallbackExecuted = true; }));
scheduleMicrotask(expectAsync(() {
Expect.isFalse(timerCallbackExecuted);
}));
scheduleMicrotask(expectAsync(() {
// Busy loop.
var sum = 1;
var sw = new Stopwatch()..start();
while (sw.elapsedMilliseconds < 5) {
sum++;
}
if (sum == 0) throw "bad"; // Just to use the result.
scheduleMicrotask(expectAsync(() {
Expect.isFalse(timerCallbackExecuted);
}));
}));
scheduleMicrotask(expectAsync(() {
Expect.isFalse(timerCallbackExecuted);
}));
});
}