Index: pkg/unittest/lib/src/future_matchers.dart |
diff --git a/pkg/unittest/lib/src/future_matchers.dart b/pkg/unittest/lib/src/future_matchers.dart |
index ce7e804340228e62ebfa701d04d7746fa6ed36fe..9154c7c1b72f9abb223a0cbbcbf5ff1613d9df40 100644 |
--- a/pkg/unittest/lib/src/future_matchers.dart |
+++ b/pkg/unittest/lib/src/future_matchers.dart |
@@ -35,18 +35,20 @@ class _Completes extends BaseMatcher { |
bool matches(item, MatchState matchState) { |
if (item is! Future) return false; |
- item.onComplete(wrapAsync((future) { |
+ item.then((value) { |
+ if (_matcher != null) expect(value, _matcher); |
+ }); |
+ |
+ item.catchError((e) { |
var reason = 'Expected future to complete successfully, but it failed ' |
- 'with ${future.exception}'; |
+ 'with ${e.error}'; |
if (future.stackTrace != null) { |
- var stackTrace = future.stackTrace.toString(); |
+ var stackTrace = e.stackTrace.toString(); |
stackTrace = ' ${stackTrace.replaceAll('\n', '\n ')}'; |
reason = '$reason\nStack trace:\n$stackTrace'; |
} |
- |
- expect(future.hasValue, isTrue, reason: reason); |
- if (_matcher != null) expect(future.value, _matcher); |
- })); |
+ expect(false, isTrue, reason: reason); |
+ }); |
return true; |
} |