anchor.diff:  }
   
   abstract class ScannerTestBase {
  -  void fail_incomplete_string_interpolation() {
  -    // https://code.google.com/p/dart/issues/detail?id=18073
  -    _assertErrorAndTokens(
  -        ScannerErrorCode.UNTERMINATED_STRING_LITERAL, 9, "\"foo \${bar", [
  -      new StringToken(TokenType.STRING, "\"foo ", 0),
  -      new StringToken(TokenType.STRING_INTERPOLATION_EXPRESSION, "\${", 5),
  -      new StringToken(TokenType.IDENTIFIER, "bar", 7)
  -    ]);
  -  }
  -
     void test_ampersand() {
       _assertToken(TokenType.AMPERSAND, "&");
     }
  
positive.code:   void test_string_raw_simple_unterminated_eol() {
      // TODO(paulberry,ahe): bad error recovery.
      super.test_string_raw_simple_unterminated_eol();
    }
  
    @override
    @failingTest
    void test_string_simple_interpolation_missingIdentifier() {
      // TODO(paulberry,ahe): bad error recovery.
      super.test_string_simple_interpolation_missingIdentifier();
    }
  
    @override
    @failingTest
    void test_string_simple_interpolation_nonIdentifier() {
      // TODO(paulberry,ahe): bad error recovery.
      super.test_string_simple_interpolation_nonIdentifier();
    }
  
    @override
  
negative.code:     CommentToken currentCommentHead;
      CommentToken currentCommentTail;
      while (true) {
        if (scanner.hasErrors && token is fasta.ErrorToken) {
          var error = _translateErrorToken(token, source.length);
          if (error != null) {
            listener.errors.add(error);
  