@@ -54,7 +54,8 @@ beforeEach(function () {
54
54
O : { resolve : { _O : function ( _O2 ) { return _O2 + "O" ; } , _O2 : function ( _O ) { return _O + "O2" ; } } } ,
55
55
P : { resolve : { $state : function ( $state ) { return $state } } ,
56
56
Q : { resolve : { _Q : function ( $state ) { counts . _Q ++ ; vals . _Q = $state ; return "foo" ; } } }
57
- }
57
+ } ,
58
+ PAnnotated : { resolve : { $state : [ '$state' , function ( $state ) { return $state } ] } }
58
59
} ;
59
60
60
61
var stateProps = [ "resolve" , "resolvePolicy" ] ;
@@ -95,6 +96,28 @@ describe('Resolvables system:', function () {
95
96
asyncCount = 0 ;
96
97
} ) ) ;
97
98
99
+ it ( 'should throw when creating a resolvable with an unannotated fn and strictDi mode on' , inject ( function ( $injector ) {
100
+ let originalStrictDi = $injector . strictDi ;
101
+ $injector . strictDi = true ;
102
+
103
+ expect ( ( ) => {
104
+ makePath ( [ "P" ] ) ;
105
+ } ) . toThrowError ( / s t r i c t d i / ) ;
106
+
107
+ $injector . strictDi = originalStrictDi ;
108
+ } ) ;
109
+
110
+ it ( 'should not throw when creating a resolvable with an annotated fn and strictDi mode on' , inject ( function ( $injector ) {
111
+ let originalStrictDi = $injector . strictDi ;
112
+ $injector . strictDi = true ;
113
+
114
+ expect ( ( ) => {
115
+ makePath ( [ "PAnnotated" ] ) ;
116
+ } ) . not . toThrowError ( / s t r i c t d i / ) ;
117
+
118
+ $injector . strictDi = originalStrictDi ;
119
+ } ) ;
120
+
98
121
describe ( 'ResolveContext.resolvePathElement()' , function ( ) {
99
122
it ( 'should resolve all resolves in a PathElement' , inject ( function ( $q ) {
100
123
let path = makePath ( [ "A" ] ) ;
0 commit comments