@@ -26,24 +26,31 @@ import {Router, RouterOutlet, RouterLink, RouteConfig, RouteParams} from 'angula
2626import { DOM } from 'angular2/src/dom/dom_adapter' ;
2727
2828import { DummyLocation } from 'angular2/src/mock/location_mock' ;
29+ import { Location } from 'angular2/src/router/location' ;
30+ import { RouteRegistry } from 'angular2/src/router/route_registry' ;
31+ import { DirectiveMetadataReader } from 'angular2/src/core/compiler/directive_metadata_reader' ;
2932
3033export function main ( ) {
3134 describe ( 'Outlet Directive' , ( ) => {
3235
33- var ctx , tb , view , router ;
36+ var ctx , tb , view , rtr ;
3437
35- beforeEach ( inject ( [ TestBed ] , ( testBed ) => {
38+ beforeEachBindings ( ( ) => [
39+ Pipeline ,
40+ RouteRegistry ,
41+ DirectiveMetadataReader ,
42+ bind ( Location ) . toClass ( DummyLocation ) ,
43+ bind ( Router ) . toFactory ( ( registry , pipeline , location ) => {
44+ return new RootRouter ( registry , pipeline , location , MyComp ) ;
45+ } , [ RouteRegistry , Pipeline , Location ] )
46+ ] ) ;
47+
48+ beforeEach ( inject ( [ TestBed , Router ] , ( testBed , router ) => {
3649 tb = testBed ;
3750 ctx = new MyComp ( ) ;
51+ rtr = router ;
3852 } ) ) ;
3953
40- beforeEachBindings ( ( ) => {
41- router = new RootRouter ( new Pipeline ( ) , new DummyLocation ( ) ) ;
42- return [
43- bind ( Router ) . toValue ( router )
44- ] ;
45- } ) ;
46-
4754 function compile ( template :string = "<router-outlet></router-outlet>" ) {
4855 tb . overrideView ( MyComp , new View ( { template : ( '<div>' + template + '</div>' ) , directives : [ RouterOutlet , RouterLink ] } ) ) ;
4956 return tb . createView ( MyComp , { context : ctx } ) . then ( ( v ) => {
@@ -53,8 +60,8 @@ export function main() {
5360
5461 it ( 'should work in a simple case' , inject ( [ AsyncTestCompleter ] , ( async ) => {
5562 compile ( )
56- . then ( ( _ ) => router . config ( { 'path' : '/test' , 'component' : HelloCmp } ) )
57- . then ( ( _ ) => router . navigate ( '/test' ) )
63+ . then ( ( _ ) => rtr . config ( { 'path' : '/test' , 'component' : HelloCmp } ) )
64+ . then ( ( _ ) => rtr . navigate ( '/test' ) )
5865 . then ( ( _ ) => {
5966 view . detectChanges ( ) ;
6067 expect ( view . rootNodes ) . toHaveText ( 'hello' ) ;
@@ -65,13 +72,13 @@ export function main() {
6572
6673 it ( 'should navigate between components with different parameters' , inject ( [ AsyncTestCompleter ] , ( async ) => {
6774 compile ( )
68- . then ( ( _ ) => router . config ( { 'path' : '/user/:name' , 'component' : UserCmp } ) )
69- . then ( ( _ ) => router . navigate ( '/user/brian' ) )
75+ . then ( ( _ ) => rtr . config ( { 'path' : '/user/:name' , 'component' : UserCmp } ) )
76+ . then ( ( _ ) => rtr . navigate ( '/user/brian' ) )
7077 . then ( ( _ ) => {
7178 view . detectChanges ( ) ;
7279 expect ( view . rootNodes ) . toHaveText ( 'hello brian' ) ;
7380 } )
74- . then ( ( _ ) => router . navigate ( '/user/igor' ) )
81+ . then ( ( _ ) => rtr . navigate ( '/user/igor' ) )
7582 . then ( ( _ ) => {
7683 view . detectChanges ( ) ;
7784 expect ( view . rootNodes ) . toHaveText ( 'hello igor' ) ;
@@ -82,8 +89,8 @@ export function main() {
8289
8390 it ( 'should work with child routers' , inject ( [ AsyncTestCompleter ] , ( async ) => {
8491 compile ( 'outer { <router-outlet></router-outlet> }' )
85- . then ( ( _ ) => router . config ( { 'path' : '/a' , 'component' : ParentCmp } ) )
86- . then ( ( _ ) => router . navigate ( '/a/b' ) )
92+ . then ( ( _ ) => rtr . config ( { 'path' : '/a' , 'component' : ParentCmp } ) )
93+ . then ( ( _ ) => rtr . navigate ( '/a/b' ) )
8794 . then ( ( _ ) => {
8895 view . detectChanges ( ) ;
8996 expect ( view . rootNodes ) . toHaveText ( 'outer { inner { hello } }' ) ;
@@ -95,8 +102,8 @@ export function main() {
95102 it ( 'should generate link hrefs' , inject ( [ AsyncTestCompleter ] , ( async ) => {
96103 ctx . name = 'brian' ;
97104 compile ( '<a href="hello" router-link="user" [router-params]="{name: name}">{{name}}</a>' )
98- . then ( ( _ ) => router . config ( { 'path' : '/user/:name' , 'component' : UserCmp , 'alias' : 'user' } ) )
99- . then ( ( _ ) => router . navigate ( '/a/b' ) )
105+ . then ( ( _ ) => rtr . config ( { 'path' : '/user/:name' , 'component' : UserCmp , 'alias' : 'user' } ) )
106+ . then ( ( _ ) => rtr . navigate ( '/a/b' ) )
100107 . then ( ( _ ) => {
101108 view . detectChanges ( ) ;
102109 expect ( view . rootNodes ) . toHaveText ( 'brian' ) ;
0 commit comments