@@ -107,30 +107,42 @@ test('Should allow "fail" option to customize failures', async () => {
107107 expect ( fail ) . toHaveBeenCalledWith ( 'No function source directory was specified' )
108108} )
109109
110- const normalizeFiles = function ( fixtureDir , { name, mainFile, runtime, extension, srcDir, srcFile, schedule } ) {
110+ const normalizeFiles = function (
111+ fixtureDir ,
112+ { name, mainFile, runtime, extension, srcDir, srcFile, srcPath, schedule } ,
113+ ) {
111114 const mainFileA = normalize ( `${ fixtureDir } /${ mainFile } ` )
112115 const srcFileA = srcFile === undefined ? { } : { srcFile : normalize ( `${ fixtureDir } /${ srcFile } ` ) }
113116 const srcDirA = srcDir ? { srcDir : resolve ( fixtureDir , srcDir ) } : { }
114- return { name, mainFile : mainFileA , runtime, extension, schedule, ...srcFileA , ...srcDirA }
117+ const srcPathA = srcPath ? { srcPath : resolve ( fixtureDir , srcPath ) } : { }
118+ return { name, mainFile : mainFileA , runtime, extension, schedule, ...srcFileA , ...srcDirA , ...srcPathA }
115119}
116120
117121test ( 'Can list function main files with list()' , async ( ) => {
118122 const fixtureDir = `${ FIXTURES_DIR } /list`
119123 const functions = await list ( fixtureDir )
120124 expect ( sortOn ( functions , [ 'mainFile' , 'extension' ] ) ) . toEqual (
121125 [
122- { name : 'four' , mainFile : 'four.js/four.js.js' , runtime : 'js' , extension : '.js' , srcDir : 'four.js' } ,
126+ {
127+ name : 'four' ,
128+ mainFile : 'four.js/four.js.js' ,
129+ runtime : 'js' ,
130+ extension : '.js' ,
131+ srcDir : 'four.js' ,
132+ srcPath : 'four.js' ,
133+ } ,
123134 {
124135 name : 'one' ,
125136 mainFile : 'one/index.js' ,
126137 runtime : 'js' ,
127138 extension : '.js' ,
128139 srcDir : 'one' ,
140+ srcPath : 'one' ,
129141 } ,
130- { name : 'test' , mainFile : 'test' , runtime : 'go' , extension : '' , srcDir : '.' } ,
131- { name : 'test' , mainFile : 'test.js' , runtime : 'js' , extension : '.js' , srcDir : '.' } ,
132- { name : 'test' , mainFile : 'test.zip' , runtime : 'js' , extension : '.zip' , srcDir : '.' } ,
133- { name : 'two' , mainFile : 'two/two.js' , runtime : 'js' , extension : '.js' , srcDir : 'two' } ,
142+ { name : 'test' , mainFile : 'test' , runtime : 'go' , extension : '' , srcDir : '.' , srcPath : 'test' } ,
143+ { name : 'test' , mainFile : 'test.js' , runtime : 'js' , extension : '.js' , srcDir : '.' , srcPath : 'test.js' } ,
144+ { name : 'test' , mainFile : 'test.zip' , runtime : 'js' , extension : '.zip' , srcDir : '.' , srcPath : 'test.zip' } ,
145+ { name : 'two' , mainFile : 'two/two.js' , runtime : 'js' , extension : '.js' , srcDir : 'two' , srcPath : 'two' } ,
134146 ] . map ( normalizeFiles . bind ( null , fixtureDir ) ) ,
135147 )
136148} )
@@ -147,13 +159,15 @@ test('Can list all function files with listAll()', async () => {
147159 extension : '.js' ,
148160 srcFile : 'four.js/four.js.js' ,
149161 srcDir : 'four.js' ,
162+ srcPath : 'four.js' ,
150163 } ,
151164 {
152165 name : 'four' ,
153166 mainFile : 'four.js/four.js.js' ,
154167 runtime : 'js' ,
155168 extension : '.json' ,
156169 srcFile : '../../../package.json' ,
170+ srcPath : 'four.js' ,
157171 srcDir : 'four.js' ,
158172 } ,
159173 {
@@ -162,6 +176,7 @@ test('Can list all function files with listAll()', async () => {
162176 runtime : 'js' ,
163177 extension : '.js' ,
164178 srcFile : 'one/index.js' ,
179+ srcPath : 'one' ,
165180 srcDir : 'one' ,
166181 } ,
167182 {
@@ -170,6 +185,7 @@ test('Can list all function files with listAll()', async () => {
170185 runtime : 'js' ,
171186 extension : '.json' ,
172187 srcFile : '../../../package.json' ,
188+ srcPath : 'one' ,
173189 srcDir : 'one' ,
174190 } ,
175191 {
@@ -178,6 +194,7 @@ test('Can list all function files with listAll()', async () => {
178194 runtime : 'go' ,
179195 extension : '' ,
180196 srcFile : 'test' ,
197+ srcPath : 'test' ,
181198 srcDir : '.' ,
182199 } ,
183200 {
@@ -186,6 +203,7 @@ test('Can list all function files with listAll()', async () => {
186203 runtime : 'js' ,
187204 extension : '.js' ,
188205 srcFile : 'test.js' ,
206+ srcPath : 'test.js' ,
189207 srcDir : '.' ,
190208 } ,
191209 {
@@ -194,6 +212,7 @@ test('Can list all function files with listAll()', async () => {
194212 runtime : 'js' ,
195213 extension : '.json' ,
196214 srcFile : '../../../package.json' ,
215+ srcPath : 'test.js' ,
197216 srcDir : '.' ,
198217 } ,
199218 {
@@ -202,16 +221,34 @@ test('Can list all function files with listAll()', async () => {
202221 runtime : 'js' ,
203222 extension : '.zip' ,
204223 srcFile : 'test.zip' ,
224+ srcPath : 'test.zip' ,
205225 srcDir : '.' ,
206226 } ,
207- { name : 'two' , mainFile : 'two/two.js' , runtime : 'js' , extension : '.js' , srcFile : 'two/two.js' , srcDir : 'two' } ,
208- { name : 'two' , mainFile : 'two/two.js' , runtime : 'js' , extension : '.js' , srcFile : 'two/three.js' , srcDir : 'two' } ,
227+ {
228+ name : 'two' ,
229+ mainFile : 'two/two.js' ,
230+ runtime : 'js' ,
231+ extension : '.js' ,
232+ srcFile : 'two/two.js' ,
233+ srcPath : 'two' ,
234+ srcDir : 'two' ,
235+ } ,
236+ {
237+ name : 'two' ,
238+ mainFile : 'two/two.js' ,
239+ runtime : 'js' ,
240+ extension : '.js' ,
241+ srcFile : 'two/three.js' ,
242+ srcPath : 'two' ,
243+ srcDir : 'two' ,
244+ } ,
209245 {
210246 name : 'two' ,
211247 mainFile : 'two/two.js' ,
212248 runtime : 'js' ,
213249 extension : '.json' ,
214250 srcFile : '../../../package.json' ,
251+ srcPath : 'two' ,
215252 srcDir : 'two' ,
216253 } ,
217254 ] . map ( normalizeFiles . bind ( null , fixtureDir ) ) ,
0 commit comments