anchor.diff:      var clone = _clone();
       return clone;
     }
  -
  -  /// Builds and returns a ComponentFixture.
  -  Future<ComponentFixture> createAsync(Type rootComponentType) {
  -    AppViewUtils.resetChangeDetection();
  -    var rootElId = '''root${ _nextRootElementId ++}''';
  -    var rootEl = new DivElement()..id = rootElId;
  -    var doc = _injector.get(DOCUMENT);
  -    // TODO(juliemr): can/should this be optional?
  -    var oldRoots = doc.querySelectorAll("[id^=root]");
  -    for (var i = 0; i < oldRoots.length; i++) {
  -      oldRoots[i].remove();
  -    }
  -    (doc as HtmlDocument).body.append(rootEl);
  -    DynamicComponentLoader loader = _injector.get(DynamicComponentLoader);
  -    appViewUtils = _injector.get(AppViewUtils);
  -    Future<ComponentRef> promise = loader.load(rootComponentType, _injector);
  -    return promise.then((componentRef) {
  -      querySelector('#$rootElId')
  -          .append(componentRef.location.nativeElement as Element);
  -      return new ComponentFixture(componentRef);
  -    });
  -  }
   }
  
positive.code: import 'dart:async';
  import 'dart:html';
  
  import 'package:angular/core.dart'
  
negative.code:         ElementRef,
          ChangeDetectorRef;
  import 'package:angular/di.dart' show Injectable;
  import 'package:angular/src/core/render/api.dart' show sharedStylesHost;
  import 'package:angular/src/platform/dom/shared_styles_host.dart';
  
  var _nextRootElementId = 0;
  
  