anchor.diff:    TestRedirectToSibling(
         @Inject(lifecycleLogToken) this.lifecycleLog, this.router);
   }
  -
  -@Component(
  -  selector: 'test-match-complete-path-segment',
  -  template: testTemplate,
  -  directives: testDirectives,
  -)
  -class TestMatchCompletePathSegment {
  -  final List<String> lifecycleLog;
  -  final Router router;
  -  final List<RouteDefinition> routes = [
  -    new RouteDefinition(
  -      path: '',
  -      component: ng.FirstChildComponentNgFactory,
  -    ),
  -    new RouteDefinition(
  -      path: 'item',
  -      component: ng.SecondChildComponentNgFactory,
  -    ),
  -    new RouteDefinition(
  -      path: 'items',
  -      component: ng.ThirdChildComponentNgFactory,
  -    ),
  -  ];
  -
  -  TestMatchCompletePathSegment(
  -      @Inject(lifecycleLogToken) this.lifecycleLog, this.router);
  -}
  
positive.code: }
  
  @Component(
    selector: 'third-child',
    template: '',
  )
  class ThirdChildComponent extends RouterLifecycleLogger {
    final String componentName = '$ThirdChildComponent';
    final List<String> lifecycleLog;
  
    ThirdChildComponent(@Inject(lifecycleLogToken) this.lifecycleLog);
  }
  
  @Component(
    selector: 'first-child',
    template: '',
  )
  
negative.code:       '$SecondChildComponent.onActivate',
      ]);
    });
  }
  
  const lifecycleLogToken = const OpaqueToken<List<String>>('lifecycleLog');
  
  Future<NgTestFixture<T>> setup<T>() async {
    final testBed = new NgTestBed<T>().addProviders([
      new ValueProvider.forToken(lifecycleLogToken, []),
      routerProvidersTest,
    ]);
    return testBed.create();
  }
  