anchor.diff:  
                 class Foo extends Bar {}
                 ''',
  -        'a|lib/dont_resolve.dart': '''
  +            'a|lib/dont_resolve.dart': '''
                 library a.dont_resolve;
   
                 const int annotation = 0;
                 @annotation
                 class Bar {}''',
  -      }, validator: (resolver) {
  -        var main = resolver.getLibraryByName('web.main');
  -        var meta =
  -            main.unit.declarations[0].element.supertype.element.metadata[0];
  -        expect(meta, isNotNull);
  -        expect(meta.constantValue, isNull);
  -      });
  +          },
  +          validator: (resolver) {
  +            var main = resolver.getLibraryByName('web.main');
  +            var meta =
  +                main.unit.declarations[0].element.supertype.element.metadata[0];
  +            expect(meta, isNotNull);
  +            expect(meta.constantValue, isNull);
  +          });
       });
   
       test('deleted files should be removed', () {
         return validateResolver(
             inputs: {
  -        'a|web/main.dart': '''import 'package:a/a.dart';''',
  -        'a|lib/a.dart': '''import 'package:a/b.dart';''',
  -        'a|lib/b.dart': '''class Engine{}''',
  -      },
  -          validator: (resolver) {
  -        var engine = resolver.getType('Engine');
  -        var uri = resolver.getImportUri(engine.library);
  -        expect(uri.toString(), 'package:a/b.dart');
  -      }).then((_) {
  +            'a|web/main.dart': '''import 'package:a/a.dart';''',
  +            'a|lib/a.dart': '''import 'package:a/b.dart';''',
  +            'a|lib/b.dart': '''class Engine{}''',
  +          },
  +          validator: (resolver) {
  +            var engine = resolver.getType('Engine');
  +            var uri = resolver.getImportUri(engine.library);
  +            expect(uri.toString(), 'package:a/b.dart');
  +          }).then((_) {
           return validateResolver(
               inputs: {
  -          'a|web/main.dart': '''import 'package:a/a.dart';''',
  -          'a|lib/a.dart': '''lib a;\n class Engine{}'''
  -        },
  +              'a|web/main.dart': '''import 'package:a/a.dart';''',
  +              'a|lib/a.dart': '''lib a;\n class Engine{}'''
  +            },
               validator: (resolver) {
  -          var engine = resolver.getType('Engine');
  -          var uri = resolver.getImportUri(engine.library);
  -          expect(uri.toString(), 'package:a/a.dart');
  -
  -          // Make sure that we haven't leaked any sources.
  -          expect(resolver.sources.length, 2);
  -        });
  +              var engine = resolver.getType('Engine');
  +              var uri = resolver.getImportUri(engine.library);
  +              expect(uri.toString(), 'package:a/a.dart');
  +
  +              // Make sure that we haven't leaked any sources.
  +              expect(resolver.sources.length, 2);
  +            });
         });
       });
   
       test('handles circular imports', () {
  -      return validateResolver(inputs: {
  -        'a|web/main.dart': '''
  +      return validateResolver(
  +          inputs: {
  +            'a|web/main.dart': '''
                   library main;
                   import 'package:a/a.dart'; ''',
  -        'a|lib/a.dart': '''
  +            'a|lib/a.dart': '''
                   library a;
                   import 'package:a/b.dart'; ''',
  -        'a|lib/b.dart': '''
  +            'a|lib/b.dart': '''
                   library b;
                   import 'package:a/a.dart'; ''',
  -      }, validator: (resolver) {
  -        var libs = resolver.libraries.map((lib) => lib.name);
  -        expect(libs.contains('a'), isTrue);
  -        expect(libs.contains('b'), isTrue);
  -      });
  +          },
  +          validator: (resolver) {
  +            var libs = resolver.libraries.map((lib) => lib.name);
  +            expect(libs.contains('a'), isTrue);
  +            expect(libs.contains('b'), isTrue);
  +          });
       });
   
       test('handles parallel resolves', () {
         return Future.wait([
  -        validateResolver(inputs: {
  -          'a|web/main.dart': '''
  +        validateResolver(
  +            inputs: {
  +              'a|web/main.dart': '''
                   library foo;'''
  -        }, validator: (resolver) {
  -          expect(resolver.getLibrary(entryPoint).name, 'foo');
  -        }),
  -        validateResolver(inputs: {
  -          'a|web/main.dart': '''
  +            },
  +            validator: (resolver) {
  +              expect(resolver.getLibrary(entryPoint).name, 'foo');
  +            }),
  +        validateResolver(
  +            inputs: {
  +              'a|web/main.dart': '''
                   library bar;'''
  -        }, validator: (resolver) {
  -          expect(resolver.getLibrary(entryPoint).name, 'bar');
  -        }),
  +            },
  +            validator: (resolver) {
  +              expect(resolver.getLibrary(entryPoint).name, 'bar');
  +            }),
         ]);
       });
     });
  
positive.code:   final Function validator;
    final bool resolveAllLibraries;
  
    TestTransformer(
      Resolvers resolvers, this.primary, this.validator,
      this.resolveAllLibraries) {
      this.resolvers = resolvers;
    }
  
  
negative.code: 
                class Foo extends Bar {}
                ''',
              'a|lib/do_resolve.dart': '''
                const int annotation = 0;
                @annotation
                class Bar {}''',
            },
            validator: (resolver) {
              var main = resolver.getLibraryByName('web.main');
              var meta =
                  main.unit.declarations[0].element.supertype.element.metadata[0];
              expect(meta, isNotNull);
              expect(meta.constantValue, isNotNull);
            });
      });
  
      test('can disable resolving of constants in transitive imports', () {
        return validateResolver(
            resolveAllLibraries: false,
            inputs: {
              'a|web/main.dart': '''
                library web.main;
  
                import 'package:a/dont_resolve.dart';
  