@@ -88,6 +88,7 @@ describe('state helpers', function() {
88
88
matcher = new StateMatcher ( states ) ;
89
89
builder = new StateBuilder ( matcher , urlMatcherFactoryProvider ) ;
90
90
builder . builder ( 'views' , uiRouter . ng1ViewsBuilder ) ;
91
+ builder . builder ( 'resolve' , uiRouter . ng1ResolveBuilder ) ;
91
92
} ) ;
92
93
93
94
describe ( 'interface' , function ( ) {
@@ -177,7 +178,7 @@ describe('state helpers', function() {
177
178
expect ( urlMatcherFactoryProvider . isMatcher ) . toHaveBeenCalledWith ( { foo : "bar" } ) ;
178
179
} ) ;
179
180
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 ( ) {
181
182
var parent = { name : "" } ;
182
183
var config = { url : "/foo" , templateUrl : "/foo.html" , controller : "FooController" , parent : parent } ;
183
184
var built = builder . builder ( 'views' ) ( config ) ;
@@ -191,6 +192,14 @@ describe('state helpers', function() {
191
192
var config = { a : { foo : "bar" , controller : "FooController" } } ;
192
193
expect ( builder . builder ( 'views' ) ( { parent : parent , views : config } ) ) . toEqual ( config ) ;
193
194
} ) ;
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
+ } ) ) ;
194
203
} ) ;
195
204
} ) ;
196
205
0 commit comments