3d6ad7b3a2
Change-Id: I00ffa8f6f85cede8badd4d7082da4603f998956c Reviewed-on: https://dart-review.googlesource.com/40470 Reviewed-by: Jenny Messerly <jmesserly@google.com>
31 lines
903 B
Dart
31 lines
903 B
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.
|
|
|
|
import 'package:async_helper/async_helper.dart';
|
|
import "package:expect/expect.dart";
|
|
import 'dart:async';
|
|
|
|
class MyFuture<T> implements Future<T> {
|
|
Future<S> then<S>(FutureOr<S> valueHandler(T x), {Function onError}) {
|
|
scheduleMicrotask(() {
|
|
valueHandler(null);
|
|
});
|
|
return null;
|
|
}
|
|
|
|
catchError(_, {test}) => null;
|
|
whenComplete(_) => null;
|
|
asStream() => null;
|
|
timeout(Duration timeLimit, {void onTimeout()}) => null;
|
|
}
|
|
|
|
main() {
|
|
asyncStart();
|
|
Completer completer = new Completer();
|
|
completer.complete(new MyFuture());
|
|
Expect.isTrue(completer.isCompleted);
|
|
Expect.throws(() => completer.complete(42));
|
|
completer.future.then((_) => asyncEnd());
|
|
}
|