@@ -16,10 +16,10 @@ function formatExports(exports: string) {
16
16
describe ( 'generateRouteNamedMap' , ( ) => {
17
17
it ( 'works with some paths at root' , ( ) => {
18
18
const tree = new PrefixTree ( DEFAULT_OPTIONS )
19
- tree . insert ( 'index.vue ' )
20
- tree . insert ( 'a.vue ' )
21
- tree . insert ( 'b.vue ' )
22
- tree . insert ( 'c.vue ' )
19
+ tree . insert ( 'index' )
20
+ tree . insert ( 'a' )
21
+ tree . insert ( 'b' )
22
+ tree . insert ( 'c' )
23
23
expect ( formatExports ( generateRouteNamedMap ( tree ) ) ) . toMatchInlineSnapshot ( `
24
24
"export interface RouteNamedMap {
25
25
'/': RouteRecordInfo<'/', '/', Record<never, never>, Record<never, never>>,
@@ -32,13 +32,13 @@ describe('generateRouteNamedMap', () => {
32
32
33
33
it ( 'adds params' , ( ) => {
34
34
const tree = new PrefixTree ( DEFAULT_OPTIONS )
35
- tree . insert ( '[a].vue ' )
36
- tree . insert ( 'partial-[a].vue ' )
37
- tree . insert ( '[[a]].vue ' ) // optional
38
- tree . insert ( 'partial-[[a]].vue ' ) // partial-optional
39
- tree . insert ( '[a]+.vue ' ) // repeated
40
- tree . insert ( '[[a]]+.vue ' ) // optional repeated
41
- tree . insert ( '[...a].vue ' ) // splat
35
+ tree . insert ( '[a]' )
36
+ tree . insert ( 'partial-[a]' )
37
+ tree . insert ( '[[a]]' ) // optional
38
+ tree . insert ( 'partial-[[a]]' ) // partial-optional
39
+ tree . insert ( '[a]+' ) // repeated
40
+ tree . insert ( '[[a]]+' ) // optional repeated
41
+ tree . insert ( '[...a]' ) // splat
42
42
expect ( formatExports ( generateRouteNamedMap ( tree ) ) ) . toMatchInlineSnapshot ( `
43
43
"export interface RouteNamedMap {
44
44
'/[a]': RouteRecordInfo<'/[a]', '/:a', { a: ParamValue<true> }, { a: ParamValue<false> }>,
@@ -68,10 +68,10 @@ describe('generateRouteNamedMap', () => {
68
68
69
69
it ( 'handles nested params in folders' , ( ) => {
70
70
const tree = new PrefixTree ( DEFAULT_OPTIONS )
71
- tree . insert ( 'n/[a]/index.vue ' ) // normal
72
- tree . insert ( 'n/[a]/other.vue ' )
73
- tree . insert ( 'n/[a]/[b].vue ' )
74
- tree . insert ( 'n/[a]/[c]/other-[d].vue ' )
71
+ tree . insert ( 'n/[a]/index' ) // normal
72
+ tree . insert ( 'n/[a]/other' )
73
+ tree . insert ( 'n/[a]/[b]' )
74
+ tree . insert ( 'n/[a]/[c]/other-[d]' )
75
75
expect ( formatExports ( generateRouteNamedMap ( tree ) ) ) . toMatchInlineSnapshot ( `
76
76
"export interface RouteNamedMap {
77
77
'/n/[a]/': RouteRecordInfo<'/n/[a]/', '/n/:a', { a: ParamValue<true> }, { a: ParamValue<false> }>,
@@ -84,12 +84,12 @@ describe('generateRouteNamedMap', () => {
84
84
85
85
it ( 'adds nested params' , ( ) => {
86
86
const tree = new PrefixTree ( DEFAULT_OPTIONS )
87
- tree . insert ( 'n/[a].vue ' ) // normal
88
- // tree.insert('n/partial-[a].vue ') // partial
89
- tree . insert ( 'n/[[a]].vue ' ) // optional
90
- tree . insert ( 'n/[a]+.vue ' ) // repeated
91
- tree . insert ( 'n/[[a]]+.vue ' ) // optional repeated
92
- tree . insert ( 'n/[...a].vue ' ) // splat
87
+ tree . insert ( 'n/[a]' ) // normal
88
+ // tree.insert('n/partial-[a]') // partial
89
+ tree . insert ( 'n/[[a]]' ) // optional
90
+ tree . insert ( 'n/[a]+' ) // repeated
91
+ tree . insert ( 'n/[[a]]+' ) // optional repeated
92
+ tree . insert ( 'n/[...a]' ) // splat
93
93
expect ( formatExports ( generateRouteNamedMap ( tree ) ) ) . toMatchInlineSnapshot ( `
94
94
"export interface RouteNamedMap {
95
95
'/n/[a]': RouteRecordInfo<'/n/[a]', '/n/:a', { a: ParamValue<true> }, { a: ParamValue<false> }>,
@@ -108,9 +108,9 @@ describe('generateRouteNamedMap', () => {
108
108
} )
109
109
)
110
110
111
- tree . insert ( '[lang]/index.vue ' , 'src/pages/index.vue' )
112
- tree . insert ( '[lang]/a.vue ' , 'src/pages/a.vue' )
113
- tree . insert ( '[lang]/[id].vue ' , 'src/pages/[id].vue' )
111
+ tree . insert ( '[lang]/index' , 'src/pages/index.vue' )
112
+ tree . insert ( '[lang]/a' , 'src/pages/a.vue' )
113
+ tree . insert ( '[lang]/[id]' , 'src/pages/[id].vue' )
114
114
115
115
expect ( formatExports ( generateRouteNamedMap ( tree ) ) ) . toMatchInlineSnapshot ( `
116
116
"export interface RouteNamedMap {
@@ -123,14 +123,14 @@ describe('generateRouteNamedMap', () => {
123
123
124
124
it ( 'nested children' , ( ) => {
125
125
const tree = new PrefixTree ( DEFAULT_OPTIONS )
126
- tree . insert ( 'a/a.vue ' )
127
- tree . insert ( 'a/b.vue ' )
128
- tree . insert ( 'a/c.vue ' )
129
- tree . insert ( 'b/b.vue ' )
130
- tree . insert ( 'b/c.vue ' )
131
- tree . insert ( 'b/d.vue ' )
132
- tree . insert ( 'c.vue ' )
133
- tree . insert ( 'd.vue ' )
126
+ tree . insert ( 'a/a' )
127
+ tree . insert ( 'a/b' )
128
+ tree . insert ( 'a/c' )
129
+ tree . insert ( 'b/b' )
130
+ tree . insert ( 'b/c' )
131
+ tree . insert ( 'b/d' )
132
+ tree . insert ( 'c' )
133
+ tree . insert ( 'd' )
134
134
expect ( formatExports ( generateRouteNamedMap ( tree ) ) ) . toMatchInlineSnapshot ( `
135
135
"export interface RouteNamedMap {
136
136
'/a/a': RouteRecordInfo<'/a/a', '/a/a', Record<never, never>, Record<never, never>>,
@@ -147,9 +147,9 @@ describe('generateRouteNamedMap', () => {
147
147
148
148
it ( 'keeps parent path overrides' , ( ) => {
149
149
const tree = new PrefixTree ( DEFAULT_OPTIONS )
150
- const parent = tree . insert ( 'parent.vue ' )
151
- const child = tree . insert ( 'parent/child.vue ' )
152
- parent . value . setOverride ( 'parent.vue ' , { path : '/' } )
150
+ const parent = tree . insert ( 'parent' )
151
+ const child = tree . insert ( 'parent/child' )
152
+ parent . value . setOverride ( 'parent' , { path : '/' } )
153
153
expect ( child . fullPath ) . toBe ( '/child' )
154
154
expect ( formatExports ( generateRouteNamedMap ( tree ) ) ) . toMatchInlineSnapshot ( `
155
155
"export interface RouteNamedMap {
@@ -166,9 +166,9 @@ describe('generateRouteNamedMap', () => {
166
166
} )
167
167
)
168
168
169
- tree . insert ( '[lang]/index.vue ' , 'src/pages/index.vue' )
170
- tree . insert ( '[lang]/a.vue ' , 'src/pages/a.vue' )
171
- tree . insert ( '[lang]/[id].vue ' , 'src/pages/[id].vue' )
169
+ tree . insert ( '[lang]/index' , 'src/pages/index.vue' )
170
+ tree . insert ( '[lang]/a' , 'src/pages/a.vue' )
171
+ tree . insert ( '[lang]/[id]' , 'src/pages/[id].vue' )
172
172
173
173
expect ( formatExports ( generateRouteNamedMap ( tree ) ) ) . toMatchInlineSnapshot ( `
174
174
"export interface RouteNamedMap {
@@ -178,32 +178,6 @@ describe('generateRouteNamedMap', () => {
178
178
}"
179
179
` )
180
180
} )
181
-
182
- // https://github.com/posva/unplugin-vue-router/issues/274
183
- it ( 'removes routeFolders.extensions from the path' , ( ) => {
184
- const tree = new PrefixTree (
185
- resolveOptions ( {
186
- extensions : [ '.pagina.vue' ] ,
187
- routesFolder : [
188
- { src : 'src/pages' , extensions : [ '.page.vue' ] } ,
189
- { src : 'src/paginas' , extensions : [ '.pagina.md' ] } ,
190
- ] ,
191
- } )
192
- )
193
-
194
- tree . insert ( 'other.pagina.md' , resolve ( 'src/paginas/other.pagina.md' ) )
195
- tree . insert ( 'index.page.vue' , resolve ( 'src/pages/index.page.vue' ) )
196
- tree . insert ( 'about.page.vue' , resolve ( 'src/pages/about.page.vue' ) )
197
- tree . insert ( 'ignored.pagina.vue' , resolve ( 'src/pages/ignored.pagine.vue' ) )
198
-
199
- expect ( formatExports ( generateRouteNamedMap ( tree ) ) ) . toMatchInlineSnapshot ( `
200
- "export interface RouteNamedMap {
201
- '/': RouteRecordInfo<'/', '/', Record<never, never>, Record<never, never>>,
202
- '/about': RouteRecordInfo<'/about', '/about', Record<never, never>, Record<never, never>>,
203
- '/other': RouteRecordInfo<'/other', '/other', Record<never, never>, Record<never, never>>,
204
- }"
205
- ` )
206
- } )
207
181
} )
208
182
209
183
/**
0 commit comments