@@ -37,6 +37,48 @@ describe('detective-typescript', () => {
3737 assert . equal ( deps [ 0 ] , 'mylib' ) ;
3838 } ) ;
3939
40+ it ( 'calls onFile callback' , ( ) => {
41+ let onFileCalledArgs ;
42+ const onFile = ( ...args ) => {
43+ onFileCalledArgs = args ;
44+ }
45+
46+ const src = 'import {foo, bar} from "mylib";'
47+
48+ detective ( src , { onFile } ) ;
49+
50+ assert . ok ( onFileCalledArgs ) ;
51+ assert . ok ( onFileCalledArgs [ 0 ] ) ;
52+ assert . equal ( onFileCalledArgs [ 0 ] . src , src ) ;
53+ assert . ok ( typeof onFileCalledArgs [ 0 ] . ast === 'object' ) ;
54+ assert . ok ( typeof onFileCalledArgs [ 0 ] . walker === 'object' ) ;
55+
56+ assert . ok ( typeof onFileCalledArgs [ 0 ] . options === 'object' ) ;
57+ assert . equal ( onFileCalledArgs [ 0 ] . options . onFile , onFile ) ;
58+ } ) ;
59+
60+ it ( 'calls onAfterFile callback' , ( ) => {
61+ let onAfterFileCalledArgs ;
62+ const onAfterFile = ( ...args ) => {
63+ onAfterFileCalledArgs = args ;
64+ }
65+
66+ const src = 'import {foo, bar} from "mylib";'
67+
68+ detective ( src , { onAfterFile } ) ;
69+
70+ assert . ok ( onAfterFileCalledArgs ) ;
71+ assert . ok ( onAfterFileCalledArgs [ 0 ] ) ;
72+ assert . equal ( onAfterFileCalledArgs [ 0 ] . src , src ) ;
73+ assert . ok ( typeof onAfterFileCalledArgs [ 0 ] . ast === 'object' ) ;
74+ assert . ok ( typeof onAfterFileCalledArgs [ 0 ] . walker === 'object' ) ;
75+ assert . ok ( Array . isArray ( onAfterFileCalledArgs [ 0 ] . dependencies ) ) ;
76+
77+ assert . ok ( typeof onAfterFileCalledArgs [ 0 ] . options === 'object' ) ;
78+ assert . equal ( onAfterFileCalledArgs [ 0 ] . options . onAfterFile , onAfterFile ) ;
79+ } ) ;
80+
81+
4082 it ( 'retrieves the re-export dependencies of modules' , ( ) => {
4183 const deps = detective ( 'export {foo, bar} from "mylib";' ) ;
4284 assert . equal ( deps . length , 1 ) ;
0 commit comments