blob: ab5e74f4a1675c8556dcbbcb8560f2e8a3e0df8e [file] [log] [blame]
// Copyright (c) 2018, 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.
// @dart = 2.9
// Regression test for https://github.com/dart-lang/sdk/issues/33330
import 'dart:async';
import 'package:expect/expect.dart';
import 'package:async_helper/async_helper.dart';
var log = [];
main() {
asyncStart();
runZoned(() {
dynamic d = new AsyncDoEvent();
return d.doEvent();
}, zoneSpecification: new ZoneSpecification(
scheduleMicrotask: (self, parent, zone, fn) {
log.add('scheduleMicrotask()');
return parent.scheduleMicrotask(zone, fn);
},
)).then((_) {
Expect.listEquals(log, ['doEvent()', 'scheduleMicrotask()']);
asyncEnd();
});
}
class AsyncDoEvent {
Future doEvent() async {
log.add('doEvent()');
}
}