@@ -195,6 +195,36 @@ describe('generateRouteNamedMap', () => {
195195 ` )
196196 } )
197197
198+ it ( 'skips the children in the index route' , ( ) => {
199+ const tree = new PrefixTree ( DEFAULT_OPTIONS )
200+ tree . insert ( 'parent/index' , 'parent/index.vue' )
201+ tree . insert ( 'parent/child' , 'parent/child.vue' )
202+ expect ( formatExports ( generateRouteNamedMap ( tree ) ) ) . toMatchInlineSnapshot ( `
203+ "export interface RouteNamedMap {
204+ '/parent/': RouteRecordInfo<'/parent/', '/parent', Record<never, never>, Record<never, never>>,
205+ '/parent/child': RouteRecordInfo<'/parent/child', '/parent/child', Record<never, never>, Record<never, never>>,
206+ }"
207+ ` )
208+ } )
209+
210+ it ( 'does not mix children of an adjacent route' , ( ) => {
211+ const tree = new PrefixTree ( DEFAULT_OPTIONS )
212+ tree . insert ( 'parent/index' , 'parent/index.vue' )
213+ tree . insert ( 'parent/a/index' , 'parent/a/index.vue' )
214+ tree . insert ( 'parent/a/b' , 'parent/a/b.vue' )
215+ tree . insert ( 'parent/a/b/index' , 'parent/a/b/index.vue' )
216+ tree . insert ( 'parent/a/b/c' , 'parent/a/b/c.vue' )
217+ expect ( formatExports ( generateRouteNamedMap ( tree ) ) ) . toMatchInlineSnapshot ( `
218+ "export interface RouteNamedMap {
219+ '/parent/': RouteRecordInfo<'/parent/', '/parent', Record<never, never>, Record<never, never>>,
220+ '/parent/a/': RouteRecordInfo<'/parent/a/', '/parent/a', Record<never, never>, Record<never, never>>,
221+ '/parent/a/b': RouteRecordInfo<'/parent/a/b', '/parent/a/b', Record<never, never>, Record<never, never>, RouteMeta, '/parent/a/b/' | '/parent/a/b/c'>,
222+ '/parent/a/b/': RouteRecordInfo<'/parent/a/b/', '/parent/a/b', Record<never, never>, Record<never, never>>,
223+ '/parent/a/b/c': RouteRecordInfo<'/parent/a/b/c', '/parent/a/b/c', Record<never, never>, Record<never, never>>,
224+ }"
225+ ` )
226+ } )
227+
198228 it ( 'adds params from the path option' , ( ) => {
199229 const tree = new PrefixTree (
200230 resolveOptions ( {
0 commit comments