6
6
patchNextFiles ,
7
7
unpatchNextFiles ,
8
8
getDependenciesOfFile ,
9
+ getSourceFileForPage ,
9
10
} from "../../packages/runtime/src/helpers/files"
10
11
import {
11
12
readFileSync ,
@@ -19,6 +20,8 @@ import { join } from "pathe"
19
20
import { Rewrites } from "../../packages/runtime/src/helpers/types"
20
21
import { describeCwdTmpDir , moveNextDist } from "../test-utils"
21
22
23
+ const TEST_DIR = resolve ( __dirname , '..' )
24
+
22
25
const REDIRECTS : Rewrites = [
23
26
{
24
27
source : '/:file((?!\\.well-known(?:/.*)?)(?:[^/]+/)*[^/]+\\.\\w+)/' ,
@@ -215,7 +218,27 @@ describe('dependency tracing', () => {
215
218
it ( 'generates dependency list from a source file' , async ( ) => {
216
219
const dependencies = await getDependenciesOfFile ( resolve ( __dirname , '../fixtures/analysis/background.js' ) )
217
220
expect ( dependencies ) . toEqual (
218
- [ 'test/webpack-api-runtime.js' , 'package.json' ] . map ( ( dep ) => resolve ( dirname ( resolve ( __dirname , '..' ) ) , dep ) ) ,
221
+ [ 'test/webpack-api-runtime.js' , 'package.json' ] . map ( ( dep ) => resolve ( dirname ( TEST_DIR ) , dep ) ) ,
219
222
)
220
223
} )
224
+ } )
225
+
226
+ describe ( 'getSourceFileForPage' , ( ) => {
227
+ it ( 'handles default pageExtensions' , ( ) => {
228
+ const pagesDir = resolve ( __dirname , '../fixtures/page-extensions/default/pages' )
229
+ const apiRoute = '/api/default'
230
+
231
+ const filePath = getSourceFileForPage ( apiRoute , [ pagesDir ] )
232
+
233
+ expect ( filePath . replace ( TEST_DIR , '' ) ) . toBe ( '/fixtures/page-extensions/default/pages/api/default.js' )
234
+ } )
235
+
236
+ it ( 'handles custom pageExtensions' , ( ) => {
237
+ const pagesDir = resolve ( __dirname , '../fixtures/page-extensions/custom/pages' )
238
+ const apiRoute = '/api/custom'
239
+
240
+ const filePath = getSourceFileForPage ( apiRoute , [ pagesDir ] , [ 'api.js' ] )
241
+
242
+ expect ( filePath . replace ( TEST_DIR , '' ) ) . toBe ( '/fixtures/page-extensions/custom/pages/api/custom.api.js' )
243
+ } )
221
244
} )
0 commit comments