@@ -3,7 +3,8 @@ import * as path from "@std/path";
33import { Builder , specToName } from "./builder.ts" ;
44import { App } from "../app.ts" ;
55import { BUILD_ID } from "../runtime/build_id.ts" ;
6- import { withTmpDir } from "../test_utils.ts" ;
6+ import { withTmpDir , writeFiles } from "../test_utils.ts" ;
7+ import { withChildProcessServer } from "../../tests/test_utils.tsx" ;
78
89Deno . test ( {
910 name : "Builder - chain onTransformStaticFile" ,
@@ -241,6 +242,42 @@ Deno.test({
241242 sanitizeResources : false ,
242243} ) ;
243244
245+ Deno . test ( {
246+ name : "Builder - write prod routePattern" ,
247+ fn : async ( ) => {
248+ const root = path . join ( import . meta. dirname ! , ".." , ".." ) ;
249+ await using _tmp = await withTmpDir ( { dir : root , prefix : "tmp_builder_" } ) ;
250+ const tmp = _tmp . dir ;
251+
252+ await writeFiles ( tmp , {
253+ "routes/foo/index.ts" : `export const handler = () => new Response("ok")` ,
254+ "main.ts" : `import { App } from "fresh";
255+ export const app = new App().fsRoutes()` ,
256+ } ) ;
257+
258+ const builder = new Builder ( {
259+ root : tmp ,
260+ outDir : path . join ( tmp , "dist" ) ,
261+ } ) ;
262+
263+ await builder . build ( ) ;
264+
265+ let text = "fail" ;
266+ await withChildProcessServer (
267+ tmp ,
268+ [ "serve" , "-A" , "dist/server.js" ] ,
269+ async ( address ) => {
270+ const res = await fetch ( `${ address } /foo` ) ;
271+ text = await res . text ( ) ;
272+ } ,
273+ ) ;
274+
275+ expect ( text ) . toEqual ( "ok" ) ;
276+ } ,
277+ sanitizeOps : false ,
278+ sanitizeResources : false ,
279+ } ) ;
280+
244281Deno . test ( "specToName" , ( ) => {
245282 // HTTP
246283 expect ( specToName ( "http://example.com" ) ) . toEqual ( "example" ) ;
0 commit comments