(async: AsyncTestCompleter, normalizer: DirectiveNormalizer, xhr: MockXHR) => {
   xhr.expect('package:some/module/cmp.html', 'a');
   var templateMeta = new CompileTemplateMetadata({
     templateUrl: 'cmp.html',
   });
   Promise
       .all([
         normalizer.normalizeTemplateAsync(dirType, templateMeta),
         normalizer.normalizeTemplateAsync(dirType, templateMeta)
       ])
       .then((templates: CompileTemplateMetadata[]) => {
         expect(templates[0].template).toEqual('a');
         expect(templates[1].template).toEqual('a');
         async.done();
       });
   xhr.flush();
 }));
 (async: AsyncTestCompleter, normalizer: DirectiveNormalizer,
  resourceLoader: MockResourceLoader) => {
   resourceLoader.expect('package:some/module/cmp.html', 'a');
   const prenormMeta = {
     componentType: SomeComp,
     moduleUrl: SOME_MODULE_URL,
     templateUrl: 'cmp.html',
   };
   Promise
       .all([
         normalizer.normalizeTemplateAsync(prenormMeta),
         normalizer.normalizeTemplateAsync(prenormMeta)
       ])
       .then((templates: CompileTemplateMetadata[]) => {
         expect(templates[0].template).toEqual('a');
         expect(templates[1].template).toEqual('a');
         async.done();
       });
   resourceLoader.flush();
 }));
 (async: AsyncTestCompleter, normalizer: DirectiveNormalizer, xhr: MockXHR) => {
   xhr.expect('package:some/module/tpl/sometplurl.html', '');
   normalizer
       .normalizeTemplateAsync(dirType, new CompileTemplateMetadata({
                                 encapsulation: null,
                                 template: null,
                                 templateUrl: 'tpl/sometplurl.html',
                                 styles: [],
                                 styleUrls: ['test.css']
                               }))
       .then((template: CompileTemplateMetadata) => {
         expect(template.styleUrls).toEqual(['package:some/module/test.css']);
         async.done();
       });
   xhr.flush();
 }));
 (async: AsyncTestCompleter, normalizer: DirectiveNormalizer,
  resourceLoader: MockResourceLoader) => {
   resourceLoader.expect(
       'package:some/module/tpl/sometplurl.html', '<style>@import test.css</style>');
   normalizer
       .normalizeTemplateAsync(dirType, new CompileTemplateMetadata({
                                 encapsulation: null,
                                 template: null,
                                 templateUrl: 'tpl/sometplurl.html',
                                 styles: [],
                                 styleUrls: []
                               }))
       .then((template: CompileTemplateMetadata) => {
         expect(template.styleUrls).toEqual(['package:some/module/tpl/test.css']);
         async.done();
       });
   resourceLoader.flush();
 }));
 (async: AsyncTestCompleter, normalizer: DirectiveNormalizer,
  resourceLoader: MockResourceLoader) => {
   resourceLoader.expect('package:some/module/tpl/sometplurl.html', '');
   normalizer
       .normalizeTemplateAsync({
         componentType: SomeComp,
         moduleUrl: SOME_MODULE_URL,
         encapsulation: null,
         template: null,
         templateUrl: 'tpl/sometplurl.html',
         styles: [],
         styleUrls: ['test.css']
       })
       .then((template: CompileTemplateMetadata) => {
         expect(template.styleUrls).toEqual(['package:some/module/test.css']);
         async.done();
       });
   resourceLoader.flush();
 }));