| Index: tests/lib_strong/async/intercept_schedule_microtask6_test.dart
 | 
| diff --git a/tests/lib_strong/async/intercept_schedule_microtask6_test.dart b/tests/lib_strong/async/intercept_schedule_microtask6_test.dart
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..2380b762a5c188d38d6f7de07b41425a04534747
 | 
| --- /dev/null
 | 
| +++ b/tests/lib_strong/async/intercept_schedule_microtask6_test.dart
 | 
| @@ -0,0 +1,54 @@
 | 
| +// 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.
 | 
| +
 | 
| +import 'package:async_helper/async_helper.dart';
 | 
| +import "package:expect/expect.dart";
 | 
| +import 'dart:async';
 | 
| +import 'catch_errors.dart';
 | 
| +
 | 
| +class A {
 | 
| +  add(x) => print(x);
 | 
| +}
 | 
| +var events = [];
 | 
| +
 | 
| +body() {
 | 
| +  events.add("body entry");
 | 
| +  scheduleMicrotask(() {
 | 
| +    events.add("run async body");
 | 
| +    throw "foo";
 | 
| +  });
 | 
| +  return 499;
 | 
| +}
 | 
| +
 | 
| +onAsyncHandler(fun) {
 | 
| +  events.add("async handler");
 | 
| +  scheduleMicrotask(fun);
 | 
| +  events.add("async handler done");
 | 
| +}
 | 
| +
 | 
| +onErrorHandler(e) {
 | 
| +  events.add("error: $e");
 | 
| +}
 | 
| +
 | 
| +main() {
 | 
| +  asyncStart();
 | 
| +
 | 
| +  // Test that runZonedScheduleMicrotask works when async, error and done
 | 
| +  // are used.
 | 
| +  var result = runZonedScheduleMicrotask(
 | 
| +      body,
 | 
| +      onScheduleMicrotask: onAsyncHandler,
 | 
| +      onError: onErrorHandler);
 | 
| +  events.add("after");
 | 
| +  Timer.run(() {
 | 
| +    Expect.listEquals(
 | 
| +        ["body entry",
 | 
| +         "async handler", "async handler done",
 | 
| +         "after",
 | 
| +         "run async body",
 | 
| +         "error: foo"],
 | 
| +        events);
 | 
| +    asyncEnd();
 | 
| + });
 | 
| +}
 | 
| 
 |