@@ -2,23 +2,51 @@ import { expect, it } from 'vitest'
2
2
import { normalizeRoutePath } from '../src/index.js'
3
3
4
4
const testCases = [
5
+ // index
5
6
[ '/' , '/' ] ,
6
7
[ '/README.md' , '/' ] ,
8
+ [ '/readme.md' , '/' ] ,
7
9
[ '/index.md' , '/' ] ,
8
10
[ '/index.html' , '/' ] ,
9
- [ '/foo' , '/foo.html' ] ,
10
- [ '/foo.md' , '/foo.html' ] ,
11
+ [ '/index' , '/' ] ,
11
12
[ '/foo/' , '/foo/' ] ,
12
13
[ '/foo/README.md' , '/foo/' ] ,
14
+ [ '/foo/readme.md' , '/foo/' ] ,
13
15
[ '/foo/index.md' , '/foo/' ] ,
14
16
[ '/foo/index.html' , '/foo/' ] ,
17
+ [ '/foo/index' , '/foo/' ] ,
18
+ [ '' , '' ] ,
19
+ [ 'README.md' , 'index.html' ] ,
20
+ [ 'readme.md' , 'index.html' ] ,
21
+ [ 'index.md' , 'index.html' ] ,
22
+ [ 'index.html' , 'index.html' ] ,
23
+ [ 'index' , 'index.html' ] ,
24
+ [ 'foo/' , 'foo/' ] ,
25
+ [ 'foo/README.md' , 'foo/' ] ,
26
+ [ 'foo/readme.md' , 'foo/' ] ,
27
+ [ 'foo/index.md' , 'foo/' ] ,
28
+ [ 'foo/index.html' , 'foo/' ] ,
29
+ [ 'foo/index' , 'foo/' ] ,
30
+
31
+ // non-index
32
+ [ '/foo' , '/foo.html' ] ,
33
+ [ '/foo.md' , '/foo.html' ] ,
34
+ [ '/foo.html' , '/foo.html' ] ,
15
35
[ '/foo/bar' , '/foo/bar.html' ] ,
16
- [ '/foo/bar/' , '/foo/bar/' ] ,
17
- [ '/foo/bar/README.md' , '/foo/bar/' ] ,
18
- [ '/foo/bar/index.md' , '/foo/bar/' ] ,
19
- [ '/foo/bar/index.html' , '/foo/bar/' ] ,
20
36
[ '/foo/bar.md' , '/foo/bar.html' ] ,
21
37
[ '/foo/bar.html' , '/foo/bar.html' ] ,
38
+ [ 'foo' , 'foo.html' ] ,
39
+ [ 'foo.md' , 'foo.html' ] ,
40
+ [ 'foo.html' , 'foo.html' ] ,
41
+ [ 'foo/bar' , 'foo/bar.html' ] ,
42
+ [ 'foo/bar.md' , 'foo/bar.html' ] ,
43
+ [ 'foo/bar.html' , 'foo/bar.html' ] ,
44
+
45
+ // unexpected corner cases
46
+ [ '.md' , '.html' ] ,
47
+ [ 'foo/.md' , 'foo/.html' ] ,
48
+ [ '/.md' , '/.html' ] ,
49
+ [ '/foo/.md' , '/foo/.html' ] ,
22
50
]
23
51
24
52
testCases . forEach ( ( [ path , expected ] ) =>
0 commit comments