@@ -88,6 +88,7 @@ describe('state helpers', function() {
8888 matcher = new StateMatcher ( states ) ;
8989 builder = new StateBuilder ( matcher , urlMatcherFactoryProvider ) ;
9090 builder . builder ( 'views' , uiRouter . ng1ViewsBuilder ) ;
91+ builder . builder ( 'resolve' , uiRouter . ng1ResolveBuilder ) ;
9192 } ) ;
9293
9394 describe ( 'interface' , function ( ) {
@@ -177,7 +178,7 @@ describe('state helpers', function() {
177178 expect ( urlMatcherFactoryProvider . isMatcher ) . toHaveBeenCalledWith ( { foo : "bar" } ) ;
178179 } ) ;
179180
180- it ( 'should return a new views object, and copy keys, if no `views` is defined in the state def' , function ( ) {
181+ it ( 'should return a new views object, and copy keys from state def , if no `views` is defined in the state def' , function ( ) {
181182 var parent = { name : "" } ;
182183 var config = { url : "/foo" , templateUrl : "/foo.html" , controller : "FooController" , parent : parent } ;
183184 var built = builder . builder ( 'views' ) ( config ) ;
@@ -191,6 +192,14 @@ describe('state helpers', function() {
191192 var config = { a : { foo : "bar" , controller : "FooController" } } ;
192193 expect ( builder . builder ( 'views' ) ( { parent : parent , views : config } ) ) . toEqual ( config ) ;
193194 } ) ;
195+
196+ it ( "should replace a resolve: string value with a function that injects the service of the same name" , inject ( function ( $injector ) {
197+ var config = { resolve : { foo : "bar" } } ;
198+ var locals = { "bar" : 123 } ;
199+ expect ( builder . builder ( 'resolve' ) ) . toBeDefined ( ) ;
200+ var built = builder . builder ( 'resolve' ) ( config ) ;
201+ expect ( $injector . invoke ( built . foo , null , locals ) ) . toBe ( 123 ) ;
202+ } ) ) ;
194203 } ) ;
195204 } ) ;
196205
0 commit comments