anchor.diff:  
     void test_illegalChar_notLetter() {
       _assertError(ScannerErrorCode.ILLEGAL_CHARACTER, 0, "\u0312", [0x312]);
  +  }
  +
  +  void test_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_index() {
  
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: 
    @override
    @failingTest
    void test_index() {
      // TODO(paulberry,ahe): "[]" should be parsed as a single token.
      super.test_index();
  