11import { test } from "@fedify/fixture" ;
2- import { deepEqual , equal } from "node:assert/strict" ;
2+ import { deepEqual , equal , throws } from "node:assert/strict" ;
33import {
44 createRouterAddTest ,
55 createRouterBuildTest ,
@@ -155,12 +155,12 @@ test("Router#register() registers all routes in one call", async (t) => {
155155 } ) ;
156156
157157 await t . step ( "matches routes equivalently to repeated add()" , ( ) => {
158- deepEqual ( router . route ( "/users/42" as Path ) , {
158+ deepEqual ( router . route ( "/users/42" ) , {
159159 name : "user" ,
160160 template : "/users/{id}" ,
161161 values : { id : "42" } ,
162162 } ) ;
163- deepEqual ( router . route ( "/users/42/posts/7" as Path ) , {
163+ deepEqual ( router . route ( "/users/42/posts/7" ) , {
164164 name : "userPost" ,
165165 template : "/users/{id}/posts/{postId}" ,
166166 values : { id : "42" , postId : "7" } ,
@@ -173,8 +173,8 @@ test("Router#register() registers all routes in one call", async (t) => {
173173 reference . add ( path , name ) ;
174174 }
175175 deepEqual (
176- router . route ( "/users/42" as Path ) ,
177- reference . route ( "/users/42" as Path ) ,
176+ router . route ( "/users/42" ) ,
177+ reference . route ( "/users/42" ) ,
178178 ) ;
179179 } ) ;
180180
@@ -189,13 +189,13 @@ test("Router#register() registers all routes in one call", async (t) => {
189189} ) ;
190190
191191test ( "Router accepts pre-parsed RouterPathPattern" , async ( t ) => {
192- const pattern = Router . compile ( "/items/{id}" as Path ) ;
192+ const pattern = Router . compile ( "/items/{id}" ) ;
193193
194194 await t . step ( "via add()" , ( ) => {
195195 const router = new Router ( ) ;
196196 router . add ( pattern , "item" ) ;
197197 equal ( router . has ( "item" ) , true ) ;
198- deepEqual ( router . route ( "/items/9" as Path ) , {
198+ deepEqual ( router . route ( "/items/9" ) , {
199199 name : "item" ,
200200 template : "/items/{id}" ,
201201 values : { id : "9" } ,
@@ -262,11 +262,11 @@ test("Router constructor argument variants", async (t) => {
262262test ( "Router treats re-registration as replacement" , async ( t ) => {
263263 await t . step ( "add() replaces a previous add() with the same name" , ( ) => {
264264 const router = new Router ( ) ;
265- router . add ( "/old/{id}" as Path , "user" ) ;
266- router . add ( "/new/{id}" as Path , "user" ) ;
265+ router . add ( "/old/{id}" , "user" ) ;
266+ router . add ( "/new/{id}" , "user" ) ;
267267
268- equal ( router . route ( "/old/1" as Path ) , null ) ;
269- deepEqual ( router . route ( "/new/1" as Path ) , {
268+ equal ( router . route ( "/old/1" ) , null ) ;
269+ deepEqual ( router . route ( "/new/1" ) , {
270270 name : "user" ,
271271 template : "/new/{id}" ,
272272 values : { id : "1" } ,
@@ -277,29 +277,29 @@ test("Router treats re-registration as replacement", async (t) => {
277277 await t . step ( "register() replaces previously registered names" , ( ) => {
278278 const router = new Router ( ) ;
279279 router . register ( [
280- [ "/a/{id}" as Path , "user" ] ,
281- [ "/b/{id}" as Path , "post" ] ,
280+ [ "/a/{id}" , "user" ] ,
281+ [ "/b/{id}" , "post" ] ,
282282 ] ) ;
283283 router . register ( [
284- [ "/c/{id}" as Path , "user" ] ,
285- [ "/d/{id}" as Path , "post" ] ,
284+ [ "/c/{id}" , "user" ] ,
285+ [ "/d/{id}" , "post" ] ,
286286 ] ) ;
287287
288- equal ( router . route ( "/a/1" as Path ) , null ) ;
289- equal ( router . route ( "/b/1" as Path ) , null ) ;
290- equal ( router . route ( "/c/1" as Path ) ?. name , "user" ) ;
291- equal ( router . route ( "/d/1" as Path ) ?. name , "post" ) ;
288+ equal ( router . route ( "/a/1" ) , null ) ;
289+ equal ( router . route ( "/b/1" ) , null ) ;
290+ equal ( router . route ( "/c/1" ) ?. name , "user" ) ;
291+ equal ( router . route ( "/d/1" ) ?. name , "post" ) ;
292292 } ) ;
293293
294294 await t . step ( "register() de-duplicates names within a single call" , ( ) => {
295295 const router = new Router ( ) ;
296296 router . register ( [
297- [ "/a/{id}" as Path , "user" ] ,
298- [ "/b/{id}" as Path , "user" ] ,
297+ [ "/a/{id}" , "user" ] ,
298+ [ "/b/{id}" , "user" ] ,
299299 ] ) ;
300300
301- equal ( router . route ( "/a/1" as Path ) , null ) ;
302- deepEqual ( router . route ( "/b/1" as Path ) , {
301+ equal ( router . route ( "/a/1" ) , null ) ;
302+ deepEqual ( router . route ( "/b/1" ) , {
303303 name : "user" ,
304304 template : "/b/{id}" ,
305305 values : { id : "1" } ,
@@ -308,23 +308,23 @@ test("Router treats re-registration as replacement", async (t) => {
308308
309309 await t . step ( "constructor de-duplicates names in the input iterable" , ( ) => {
310310 const router = new Router ( [
311- [ "/v1/{id}" as Path , "user" ] ,
312- [ "/v2/{id}" as Path , "user" ] ,
311+ [ "/v1/{id}" , "user" ] ,
312+ [ "/v2/{id}" , "user" ] ,
313313 ] ) ;
314314
315- equal ( router . route ( "/v1/1" as Path ) , null ) ;
316- equal ( router . route ( "/v2/1" as Path ) ?. name , "user" ) ;
315+ equal ( router . route ( "/v1/1" ) , null ) ;
316+ equal ( router . route ( "/v2/1" ) ?. name , "user" ) ;
317317 } ) ;
318318
319319 await t . step ( "only the latest survives repeated re-registration" , ( ) => {
320320 const router = new Router ( ) ;
321321 for ( let i = 0 ; i < 50 ; i ++ ) {
322- router . add ( `/v${ i } /{id}` as Path , "user" ) ;
322+ router . add ( `/v${ i } /{id}` , "user" ) ;
323323 }
324324
325- equal ( router . route ( "/v0/1" as Path ) , null ) ;
326- equal ( router . route ( "/v25/1" as Path ) , null ) ;
327- deepEqual ( router . route ( "/v49/1" as Path ) , {
325+ equal ( router . route ( "/v0/1" ) , null ) ;
326+ equal ( router . route ( "/v25/1" ) , null ) ;
327+ deepEqual ( router . route ( "/v49/1" ) , {
328328 name : "user" ,
329329 template : "/v49/{id}" ,
330330 values : { id : "1" } ,
@@ -335,44 +335,44 @@ test("Router treats re-registration as replacement", async (t) => {
335335 "mixed add() / register() preserves replacement semantics" ,
336336 ( ) => {
337337 const router = new Router ( ) ;
338- router . add ( "/old-a/{id}" as Path , "a" ) ;
339- router . add ( "/old-b/{id}" as Path , "b" ) ;
338+ router . add ( "/old-a/{id}" , "a" ) ;
339+ router . add ( "/old-b/{id}" , "b" ) ;
340340 router . register ( [
341- [ "/new-a/{id}" as Path , "a" ] ,
342- [ "/new-b/{id}" as Path , "b" ] ,
341+ [ "/new-a/{id}" , "a" ] ,
342+ [ "/new-b/{id}" , "b" ] ,
343343 ] ) ;
344344
345- equal ( router . route ( "/old-a/1" as Path ) , null ) ;
346- equal ( router . route ( "/old-b/1" as Path ) , null ) ;
347- equal ( router . route ( "/new-a/1" as Path ) ?. name , "a" ) ;
348- equal ( router . route ( "/new-b/1" as Path ) ?. name , "b" ) ;
345+ equal ( router . route ( "/old-a/1" ) , null ) ;
346+ equal ( router . route ( "/old-b/1" ) , null ) ;
347+ equal ( router . route ( "/new-a/1" ) ?. name , "a" ) ;
348+ equal ( router . route ( "/new-b/1" ) ?. name , "b" ) ;
349349 } ,
350350 ) ;
351351
352352 await t . step ( "sibling routes survive re-registration of another name" , ( ) => {
353353 const router = new Router ( ) ;
354354 router . register ( [
355- [ "/users/{id}" as Path , "user" ] ,
356- [ "/posts/{id}" as Path , "post" ] ,
355+ [ "/users/{id}" , "user" ] ,
356+ [ "/posts/{id}" , "post" ] ,
357357 ] ) ;
358- router . add ( "/people/{id}" as Path , "user" ) ;
358+ router . add ( "/people/{id}" , "user" ) ;
359359
360- equal ( router . route ( "/users/1" as Path ) , null ) ;
361- equal ( router . route ( "/people/1" as Path ) ?. name , "user" ) ;
362- equal ( router . route ( "/posts/9" as Path ) ?. name , "post" ) ;
360+ equal ( router . route ( "/users/1" ) , null ) ;
361+ equal ( router . route ( "/people/1" ) ?. name , "user" ) ;
362+ equal ( router . route ( "/posts/9" ) ?. name , "post" ) ;
363363 } ) ;
364364
365365 await t . step (
366366 "clone() after re-registration reflects only active routes" ,
367367 ( ) => {
368368 const router = new Router ( ) ;
369- router . add ( "/old/{id}" as Path , "user" ) ;
370- router . add ( "/new/{id}" as Path , "user" ) ;
369+ router . add ( "/old/{id}" , "user" ) ;
370+ router . add ( "/new/{id}" , "user" ) ;
371371
372372 const cloned = router . clone ( ) ;
373373 equal ( cloned . has ( "user" ) , true ) ;
374- equal ( cloned . route ( "/old/1" as Path ) , null ) ;
375- deepEqual ( cloned . route ( "/new/1" as Path ) , {
374+ equal ( cloned . route ( "/old/1" ) , null ) ;
375+ deepEqual ( cloned . route ( "/new/1" ) , {
376376 name : "user" ,
377377 template : "/new/{id}" ,
378378 values : { id : "1" } ,
0 commit comments