@@ -21,6 +21,25 @@ describe('match', () => {
21
21
expect ( inaccurateResult ) . toEqual ( undefined ) ;
22
22
} ) ;
23
23
24
+ it ( 'Param rest segment' , ( ) => {
25
+ const accurateResult = execPath ( '/user/foo' , '/user/*' ) ;
26
+ expect ( accurateResult ) . toEqual ( { path : '/user/foo' , params : { } , query : { } } ) ;
27
+
28
+ const inaccurateResult = execPath ( '/' , '/user/:id/*' ) ;
29
+ expect ( inaccurateResult ) . toEqual ( undefined ) ;
30
+ } ) ;
31
+
32
+ it ( 'Param route with rest segment' , ( ) => {
33
+ const accurateResult = execPath ( '/user/2/foo' , '/user/:id/*' ) ;
34
+ expect ( accurateResult ) . toEqual ( { path : '/user/2/foo' , params : { id : '2' } , id : '2' , query : { } } ) ;
35
+
36
+ const accurateResult2 = execPath ( '/user/2/foo/bar/bob' , '/user/:id/*' ) ;
37
+ expect ( accurateResult2 ) . toEqual ( { path : '/user/2/foo/bar/bob' , params : { id : '2' } , id : '2' , query : { } } ) ;
38
+
39
+ const inaccurateResult = execPath ( '/' , '/user/:id/*' ) ;
40
+ expect ( inaccurateResult ) . toEqual ( undefined ) ;
41
+ } ) ;
42
+
24
43
it ( 'Optional param route' , ( ) => {
25
44
const accurateResult = execPath ( '/user' , '/user/:id?' ) ;
26
45
expect ( accurateResult ) . toEqual ( { path : '/user' , params : { id : undefined } , id : undefined , query : { } } ) ;
0 commit comments