anchor.diff:    test('PartBuilder includes no header when `header` is empty', () async {
       await testBuilder(
           new PartBuilder([const UnformattedCodeGenerator()], header: ''),
  -        {'$pkgName|lib/a.dart': 'library a; part "a.part.dart";'},
  -        generateFor: new Set.from(['$pkgName|lib/a.dart']),
  -        outputs: {
  -          '$pkgName|lib/a.g.dart': decodedMatches(startsWith('part of')),
  +        {'$_pkgName|lib/a.dart': 'library a; part "a.part.dart";'},
  +        generateFor: new Set.from(['$_pkgName|lib/a.dart']),
  +        outputs: {
  +          '$_pkgName|lib/a.g.dart': decodedMatches(startsWith('part of')),
           });
     });
   
  
positive.code:     await testBuilder(
          new PartBuilder([const UnformattedCodeGenerator()],
              formatOutput: (_) => customOutput),
          {'$pkgName|lib/a.dart': 'library a; part "a.part.dart";'},
          generateFor: new Set.from(['$pkgName|lib/a.dart']),
          outputs: {
            '$pkgName|lib/a.g.dart': decodedMatches(contains(customOutput)),
          });
    });
  
    test('Error logs contain original input ids', () async {
      var logs = <LogRecord>[];
      await testBuilder(new LibraryBuilder(new _ThrowingGenerator()),
          {'$pkgName|lib/a.dart': 'void hello() {}'},
          onLog: logs.add);
      await new Future(() {});
      expect(
          logs.map((l) => l.message), contains(contains('$pkgName|lib/a.dart')));
    });
  
    test('Should have a readable toString() message for builders', () {
  
negative.code:   });
  
    test('Allow no "library"  by default', () async {
      var sources = _createPackageStub(testLibContent: 'class A {}');
      var builder = new PartBuilder([const CommentGenerator()]);
  
      await testBuilder(builder, sources,
          outputs: {'$_pkgName|lib/test_lib.g.dart': _testGenNoLibrary});
    });
  
    test('Does not fail when there is no output', () async {
      var sources = _createPackageStub(testLibContent: 'class A {}');
      var builder = new PartBuilder([const CommentGenerator(forClasses: false)]);
      await testBuilder(builder, sources, outputs: {});
    });
  
    test('Use new part syntax when no library directive exists', () async {
      var sources = _createPackageStub(testLibContent: 'class A {}');
      var builder = new PartBuilder([const CommentGenerator()]);
      await testBuilder(builder, sources,
          outputs: {'$_pkgName|lib/test_lib.g.dart': _testGenNoLibrary});
    });
  
    test(
  