@@ -107,30 +107,42 @@ test('Should allow "fail" option to customize failures', async () => {
107
107
expect ( fail ) . toHaveBeenCalledWith ( 'No function source directory was specified' )
108
108
} )
109
109
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
+ ) {
111
114
const mainFileA = normalize ( `${ fixtureDir } /${ mainFile } ` )
112
115
const srcFileA = srcFile === undefined ? { } : { srcFile : normalize ( `${ fixtureDir } /${ srcFile } ` ) }
113
116
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 }
115
119
}
116
120
117
121
test ( 'Can list function main files with list()' , async ( ) => {
118
122
const fixtureDir = `${ FIXTURES_DIR } /list`
119
123
const functions = await list ( fixtureDir )
120
124
expect ( sortOn ( functions , [ 'mainFile' , 'extension' ] ) ) . toEqual (
121
125
[
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
+ } ,
123
134
{
124
135
name : 'one' ,
125
136
mainFile : 'one/index.js' ,
126
137
runtime : 'js' ,
127
138
extension : '.js' ,
128
139
srcDir : 'one' ,
140
+ srcPath : 'one' ,
129
141
} ,
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' } ,
134
146
] . map ( normalizeFiles . bind ( null , fixtureDir ) ) ,
135
147
)
136
148
} )
@@ -147,13 +159,15 @@ test('Can list all function files with listAll()', async () => {
147
159
extension : '.js' ,
148
160
srcFile : 'four.js/four.js.js' ,
149
161
srcDir : 'four.js' ,
162
+ srcPath : 'four.js' ,
150
163
} ,
151
164
{
152
165
name : 'four' ,
153
166
mainFile : 'four.js/four.js.js' ,
154
167
runtime : 'js' ,
155
168
extension : '.json' ,
156
169
srcFile : '../../../package.json' ,
170
+ srcPath : 'four.js' ,
157
171
srcDir : 'four.js' ,
158
172
} ,
159
173
{
@@ -162,6 +176,7 @@ test('Can list all function files with listAll()', async () => {
162
176
runtime : 'js' ,
163
177
extension : '.js' ,
164
178
srcFile : 'one/index.js' ,
179
+ srcPath : 'one' ,
165
180
srcDir : 'one' ,
166
181
} ,
167
182
{
@@ -170,6 +185,7 @@ test('Can list all function files with listAll()', async () => {
170
185
runtime : 'js' ,
171
186
extension : '.json' ,
172
187
srcFile : '../../../package.json' ,
188
+ srcPath : 'one' ,
173
189
srcDir : 'one' ,
174
190
} ,
175
191
{
@@ -178,6 +194,7 @@ test('Can list all function files with listAll()', async () => {
178
194
runtime : 'go' ,
179
195
extension : '' ,
180
196
srcFile : 'test' ,
197
+ srcPath : 'test' ,
181
198
srcDir : '.' ,
182
199
} ,
183
200
{
@@ -186,6 +203,7 @@ test('Can list all function files with listAll()', async () => {
186
203
runtime : 'js' ,
187
204
extension : '.js' ,
188
205
srcFile : 'test.js' ,
206
+ srcPath : 'test.js' ,
189
207
srcDir : '.' ,
190
208
} ,
191
209
{
@@ -194,6 +212,7 @@ test('Can list all function files with listAll()', async () => {
194
212
runtime : 'js' ,
195
213
extension : '.json' ,
196
214
srcFile : '../../../package.json' ,
215
+ srcPath : 'test.js' ,
197
216
srcDir : '.' ,
198
217
} ,
199
218
{
@@ -202,16 +221,34 @@ test('Can list all function files with listAll()', async () => {
202
221
runtime : 'js' ,
203
222
extension : '.zip' ,
204
223
srcFile : 'test.zip' ,
224
+ srcPath : 'test.zip' ,
205
225
srcDir : '.' ,
206
226
} ,
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
+ } ,
209
245
{
210
246
name : 'two' ,
211
247
mainFile : 'two/two.js' ,
212
248
runtime : 'js' ,
213
249
extension : '.json' ,
214
250
srcFile : '../../../package.json' ,
251
+ srcPath : 'two' ,
215
252
srcDir : 'two' ,
216
253
} ,
217
254
] . map ( normalizeFiles . bind ( null , fixtureDir ) ) ,
0 commit comments