File tree Expand file tree Collapse file tree 2 files changed +7
-1
lines changed
Expand file tree Collapse file tree 2 files changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -71,7 +71,7 @@ var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
7171var $injectorMinErr = minErr ( '$injector' ) ;
7272
7373function extractArgs ( fn ) {
74- var fnText = fn . toString ( ) . replace ( STRIP_COMMENTS , '' ) ,
74+ var fnText = Function . prototype . toString . call ( fn ) . replace ( STRIP_COMMENTS , '' ) ,
7575 args = fnText . match ( ARROW_ARG ) || fnText . match ( FN_ARGS ) ;
7676 return args ;
7777}
Original file line number Diff line number Diff line change @@ -241,6 +241,12 @@ describe('injector', function() {
241241 expect ( $f_n0 . $inject ) . toEqual ( [ '$a_' ] ) ;
242242 } ) ;
243243
244+ it ( 'should handle functions with overridden toString' , function ( ) {
245+ function fn ( a ) { }
246+ fn . toString = function ( ) { return 'fn' ; } ;
247+ expect ( annotate ( fn ) ) . toEqual ( [ 'a' ] ) ;
248+ expect ( fn . $inject ) . toEqual ( [ 'a' ] ) ;
249+ } ) ;
244250
245251 it ( 'should throw on non function arg' , function ( ) {
246252 expect ( function ( ) {
You can’t perform that action at this time.
0 commit comments