@@ -44,6 +44,46 @@ describe('router.onReady', () => {
44
44
} )
45
45
} )
46
46
47
+ describe ( 'route matching' , ( ) => {
48
+ it ( 'resolves parent params when using current route' , ( ) => {
49
+ const router = new Router ( {
50
+ mode : 'abstract' ,
51
+ routes : [
52
+ {
53
+ path : '/a/:id' ,
54
+ component : { name : 'A' } ,
55
+ children : [ { name : 'b' , path : 'b' , component : { name : 'B' } } ]
56
+ }
57
+ ]
58
+ } )
59
+
60
+ router . push ( '/a/1' )
61
+
62
+ const { route, resolved } = router . resolve ( { name : 'b' } )
63
+ expect ( route . params ) . toEqual ( { id : '1' } )
64
+ expect ( resolved . params ) . toEqual ( { id : '1' } )
65
+ } )
66
+
67
+ it ( 'can override currentRoute' , ( ) => {
68
+ const router = new Router ( {
69
+ mode : 'abstract' ,
70
+ routes : [
71
+ {
72
+ path : '/a/:id' ,
73
+ component : { name : 'A' } ,
74
+ children : [ { name : 'b' , path : 'b' , component : { name : 'B' } } ]
75
+ }
76
+ ]
77
+ } )
78
+
79
+ router . push ( '/a/1' )
80
+
81
+ const { route, resolved } = router . resolve ( { name : 'b' } , { params : { id : '2' } , path : '/a/2' } )
82
+ expect ( route . params ) . toEqual ( { id : '2' } )
83
+ expect ( resolved . params ) . toEqual ( { id : '2' } )
84
+ } )
85
+ } )
86
+
47
87
describe ( 'router.addRoutes' , ( ) => {
48
88
it ( 'should work' , ( ) => {
49
89
const router = new Router ( {
0 commit comments