anchor.diff:        assert(inTest);
         assert(_clock != null);
         if (duration != null)
  -        _fakeAsync.elapse(duration);
  +        _currentFakeAsync.elapse(duration);
         _phase = newPhase;
         if (hasScheduledFrame) {
  -        _fakeAsync.flushMicrotasks();
  +        _currentFakeAsync.flushMicrotasks();
           handleBeginFrame(new Duration(
             milliseconds: _clock.now().millisecondsSinceEpoch,
           ));
  -        _fakeAsync.flushMicrotasks();
  +        _currentFakeAsync.flushMicrotasks();
           handleDrawFrame();
         }
  -      _fakeAsync.flushMicrotasks();
  +      _currentFakeAsync.flushMicrotasks();
         return new Future<Null>.value();
       });
     }
  
positive.code:         // if the listener is in a different zone (which it would be for the
          // `whenComplete` handler below), or if the Future completes with an
          // error and the future has no listeners at all.
          // This handler further calls the onError handler above, which sets
          // _pendingExceptionDetails. Nothing gets printed as a result of that
          // call unless we already had an exception pending, because in general
  
negative.code: 
    Future<Null> _runTest(Future<Null> testBody(), VoidCallback invariantTester, String description) {
      assert(description != null);
      assert(inTest);
      _oldExceptionHandler = FlutterError.onError;
      int _exceptionCount = 0; // number of un-taken exceptions
  