anchor.diff:  /// Unit tests for markdown.
   library markdownTests;
   
  +import 'package:unittest/unittest.dart';
  +
   // TODO(rnystrom): Use "package:" URL (#4968).
   import '../lib/markdown.dart';
  -
  -// TODO(rnystrom): Better path to unittest.
  -import 'package:unittest/unittest.dart';
   
   /// Most of these tests are based on observing how showdown behaves:
   /// http://softwaremaniacs.org/playground/showdown-highlight/
  
positive.code:     }
    }
  
    return Strings.join(lines, '\n');
  }
  
  validate(String description, String markdown, String html,
           {bool verbose: false}) {
    test(description, () {
      markdown = cleanUpLiteral(markdown);
      html = cleanUpLiteral(html);
  
      var result = markdownToHtml(markdown);
      var passed = compareOutput(html, result);
  
      if (!passed) {
  
negative.code:         ''');
    });
  
    group('Fenced code blocks', () {
      validate('without an optional language identifier', '''
          ```
          code
          ```
          ''', '''
          <pre><code>code
          </code></pre>
          ''');
  
      validate('with an optional language identifier', '''
          ```dart
          code
          ```
          ''', '''
          <pre><code>code
          </code></pre>
          ''');
  
      validate('escape HTML characters', '''
          ```
          <&>
          ```
          ''', '''
          <pre><code>&lt;&amp;&gt;
          </code></pre>
          ''');
    });
  
    group('Horizontal rules', () {
      validate('from dashes', '''
          ---
  