anchor.diff:    return _currentGroup != '' ? '$_currentGroup $spec' : spec;
   }
   
  +void _fail(String message) {
  +  throw new ExpectException(message);
  +}
  +
   /**
    * Lazily initializes the test library if not already initialized.
    */
  
positive.code:     testCase.error(
          'Async tests must wait for at least one callback ', '');
    }
  }
  
  /** Sentinel value for [_SpreadArgsHelper]. */
  
negative.code:           trace == null ? '' : trace.toString());
      }
    } catch (var e, var trace) {
      if (_state == _RUNNING_TEST) {
        // If a random exception is thrown from within a test, we consider that
        // a test failure too. A test case implicitly has an expectation that it
        // will run to completion without an uncaught exception being thrown.
        _tests[_currentTest].fail('Caught $e',
            trace == null ? '' : trace.toString());
      } else if (_state != _UNCAUGHT_ERROR) {
        _tests[_currentTest].error('Caught $e',
            trace == null ? '' : trace.toString());
      }
  