anchor.diff:  
   import 'dart:io';
   
  +import 'package:html/parser.dart';
   import 'package:test/test.dart';
   
   import 'package:pub_dartlang_org/templates.dart';
  
positive.code: 
      test('pagination: single page', () {
        final String html = templates.renderPagination(new PackageLinks.empty());
        expectGoldenFile(html, 'pagination_single.html');
      });
  
      test('pagination: in the middle', () {
        final String html = templates.renderPagination(new PackageLinks(90, 299));
        expectGoldenFile(html, 'pagination_middle.html');
      });
  
      test('pagination: at first page', () {
        final String html = templates.renderPagination(new PackageLinks(0, 600));
        expectGoldenFile(html, 'pagination_first.html');
      });
  
      test('pagination: at last page', () {
        final String html = templates.renderPagination(new PackageLinks(90, 91));
        expectGoldenFile(html, 'pagination_last.html');
      });
    });
  
  
negative.code:   group('templates', () {
      final templates = new TemplateService(templateDirectory: 'views');
  
      void expectGoldenFile(String content, String fileName,
          {bool isFragment: false}) {
        // Making sure it is valid HTML
        final htmlParser = new HtmlParser(content, strict: true);
        if (isFragment) {
          htmlParser.parseFragment();
        } else {
          htmlParser.parse();
        }
        final golden = new File('test/golden/$fileName').readAsStringSync();
        expect(content.split('\n'), golden.split('\n'));
      }
  