anchor.diff:    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
  
positive.code: 
    @override
    @failingTest
    void test_comment_multi_unterminated() {
      // TODO(paulberry,ahe): see UnimplementedError("distinguish unterminated
      // errors")
      super.test_comment_multi_unterminated();
    }
  
    @override
    @failingTest
    void test_double_missingDigitInExponent() {
      // TODO(paulberry,ahe): see UnimplementedError("distinguish unterminated
      // errors")
      super.test_double_missingDigitInExponent();
    }
  
    @override
    @failingTest
    void test_hexidecimal_missingDigit() {
      // TODO(paulberry,ahe): see UnimplementedError("distinguish unterminated
      // errors")
      super.test_hexidecimal_missingDigit();
    }
  
    @override
    @failingTest
    void test_index() {
      // TODO(paulberry,ahe): "[]" should be parsed as a single token.
      super.test_index();
  
negative.code: }
  
  abstract class ScannerTestBase {
    void test_ampersand() {
      _assertToken(TokenType.AMPERSAND, "&");
    }
  