@@ -112,7 +112,7 @@ describe("handleError", () => {
112112 throw error ;
113113 } ,
114114 } ) ;
115- let request = new Request ( "http://example.com/?_data=root " ) ;
115+ let request = new Request ( "http://example.com/_root.data " ) ;
116116 await handler ( request ) ;
117117 expect ( handleErrorSpy ) . toHaveBeenCalledWith ( error , {
118118 request,
@@ -123,7 +123,7 @@ describe("handleError", () => {
123123
124124 it ( "provides router-thrown ErrorResponse" , async ( ) => {
125125 let { handler, handleErrorSpy } = getHandler ( { } ) ;
126- let request = new Request ( "http://example.com/?_data=root " , {
126+ let request = new Request ( "http://example.com/_root.data " , {
127127 method : "post" ,
128128 } ) ;
129129 await handler ( request ) ;
@@ -153,10 +153,65 @@ describe("handleError", () => {
153153 ) ;
154154 } ,
155155 } ) ;
156- let request = new Request ( "http://example.com/?_data=root " ) ;
156+ let request = new Request ( "http://example.com/_root.data " ) ;
157157 await handler ( request ) ;
158158 expect ( handleErrorSpy ) . not . toHaveBeenCalled ( ) ;
159159 } ) ;
160+
161+ it ( "provides proper params to handleError" , async ( ) => {
162+ let error = new Error ( "💥" ) ;
163+
164+ let handleErrorSpy = jest . fn ( ) ;
165+ let build : ServerBuild = {
166+ routes : {
167+ param : {
168+ id : "param" ,
169+ path : "/:param" ,
170+ module : {
171+ default ( ) {
172+ return null ;
173+ } ,
174+ loader ( ) {
175+ throw error ;
176+ } ,
177+ } ,
178+ } ,
179+ } ,
180+ entry : {
181+ module : {
182+ handleError : handleErrorSpy ,
183+ default ( ) {
184+ return new Response ( "<html><body>Dummy document</body></html>" ) ;
185+ } ,
186+ } ,
187+ } ,
188+ future : {
189+ // Fill in the required values
190+ unstable_middleware : false ,
191+ unstable_subResourceIntegrity : false ,
192+ } ,
193+ prerender : [ ] ,
194+ assets : {
195+ entry : { imports : [ ] , module : "" } ,
196+ routes : { } ,
197+ url : "" ,
198+ version : "" ,
199+ } ,
200+ assetsBuildDirectory : "" ,
201+ publicPath : "/" ,
202+ ssr : true ,
203+ isSpaMode : false ,
204+ } ;
205+
206+ let handler = createRequestHandler ( build ) ;
207+ let request = new Request ( "http://example.com/a.data" ) ;
208+ await handler ( request ) ;
209+ expect ( handleErrorSpy ) . toHaveBeenCalledWith ( error , {
210+ request,
211+ params : { param : "a" } ,
212+ context : { } ,
213+ } ) ;
214+ } ) ;
160215 } ) ;
161216
162217 describe ( "resource request" , ( ) => {
0 commit comments