@@ -3,18 +3,31 @@ import { assetsPlugin } from '@vuepress/markdown'
3
3
import type { MarkdownEnv } from '@vuepress/markdown'
4
4
5
5
const source = [
6
+ // relative paths
6
7
'' ,
7
8
'' ,
8
9
'' ,
9
10
'' ,
10
11
'' ,
11
12
'' ,
12
- '' ,
13
+ '' ,
14
+ '' ,
15
+ // aliases
16
+ '' ,
17
+ '' ,
18
+ '' ,
19
+ // webpack legacy aliases
20
+ '' ,
21
+ '' ,
22
+ '' ,
23
+ // keep as is
13
24
'' ,
14
25
'' ,
15
26
'![empty]()' ,
16
- '' ,
17
- '' ,
27
+ // invalid paths
28
+ '' ,
29
+ '' ,
30
+ '' ,
18
31
] . join ( '\n\n' )
19
32
20
33
describe ( '@vuepress/markdown > plugins > assetsPlugin' , ( ) => {
@@ -28,18 +41,31 @@ describe('@vuepress/markdown > plugins > assetsPlugin', () => {
28
41
29
42
expect ( rendered ) . toEqual (
30
43
[
44
+ // relative paths
31
45
'<img src="@source/sub/foo.png" alt="foo">' ,
32
46
'<img src="@source/sub/foo.png" alt="foo2">' ,
33
47
'<img src="@source/sub/foo/bar.png" alt="foo-bar">' ,
34
48
'<img src="@source/sub/foo/bar.png" alt="foo-bar2">' ,
35
49
'<img src="@source/baz.png" alt="baz">' ,
36
50
'<img src="@source/../out.png" alt="out">' ,
37
- '<img src=".../invalid.png" alt="invalid">' ,
51
+ '<img src="@source/sub/汉字.png" alt="汉字">' ,
52
+ '<img src="@source/sub/100%.png" alt="100%">' ,
53
+ // aliases
54
+ '<img src="@alias/foo.png" alt="alias">' ,
55
+ '<img src="@alias/汉字.png" alt="汉字">' ,
56
+ '<img src="@alias/100%.png" alt="100%">' ,
57
+ // webpack legacy aliases
58
+ '<img src="~@alias/foo.png" alt="~alias">' ,
59
+ '<img src="~@alias/汉字.png" alt="~汉字">' ,
60
+ '<img src="~@alias/100%.png" alt="~100%">' ,
61
+ // keep as is
38
62
'<img src="/absolute.png" alt="absolute">' ,
39
63
'<img src="http://foobar.com/icon.png" alt="url">' ,
40
64
'<img src="" alt="empty">' ,
41
- '<img src="@alias/foo.png" alt="alias">' ,
42
- '<img src="~@alias/foo.png" alt="~alias">' ,
65
+ // invalid paths
66
+ '<img src=".../invalid.png" alt="invalid">' ,
67
+ '<img src=".../汉字.png" alt="汉字">' ,
68
+ '<img src=".../100%.png" alt="100%">' ,
43
69
]
44
70
. map ( ( item ) => `<p>${ item } </p>` )
45
71
. join ( '\n' ) + '\n'
@@ -58,18 +84,31 @@ describe('@vuepress/markdown > plugins > assetsPlugin', () => {
58
84
59
85
expect ( rendered ) . toEqual (
60
86
[
87
+ // relative paths
61
88
'<img src="@foo/sub/foo.png" alt="foo">' ,
62
89
'<img src="@foo/sub/foo.png" alt="foo2">' ,
63
90
'<img src="@foo/sub/foo/bar.png" alt="foo-bar">' ,
64
91
'<img src="@foo/sub/foo/bar.png" alt="foo-bar2">' ,
65
92
'<img src="@foo/baz.png" alt="baz">' ,
66
93
'<img src="@foo/../out.png" alt="out">' ,
67
- '<img src=".../invalid.png" alt="invalid">' ,
94
+ '<img src="@foo/sub/汉字.png" alt="汉字">' ,
95
+ '<img src="@foo/sub/100%.png" alt="100%">' ,
96
+ // aliases
97
+ '<img src="@alias/foo.png" alt="alias">' ,
98
+ '<img src="@alias/汉字.png" alt="汉字">' ,
99
+ '<img src="@alias/100%.png" alt="100%">' ,
100
+ // webpack legacy aliases
101
+ '<img src="~@alias/foo.png" alt="~alias">' ,
102
+ '<img src="~@alias/汉字.png" alt="~汉字">' ,
103
+ '<img src="~@alias/100%.png" alt="~100%">' ,
104
+ // keep as is
68
105
'<img src="/absolute.png" alt="absolute">' ,
69
106
'<img src="http://foobar.com/icon.png" alt="url">' ,
70
107
'<img src="" alt="empty">' ,
71
- '<img src="@alias/foo.png" alt="alias">' ,
72
- '<img src="~@alias/foo.png" alt="~alias">' ,
108
+ // invalid paths
109
+ '<img src=".../invalid.png" alt="invalid">' ,
110
+ '<img src=".../汉字.png" alt="汉字">' ,
111
+ '<img src=".../100%.png" alt="100%">' ,
73
112
]
74
113
. map ( ( item ) => `<p>${ item } </p>` )
75
114
. join ( '\n' ) + '\n'
@@ -84,18 +123,31 @@ describe('@vuepress/markdown > plugins > assetsPlugin', () => {
84
123
85
124
expect ( rendered ) . toEqual (
86
125
[
126
+ // relative paths
87
127
'<img src="./foo.png" alt="foo">' ,
88
128
'<img src="../sub/foo.png" alt="foo2">' ,
89
129
'<img src="./foo/bar.png" alt="foo-bar">' ,
90
130
'<img src="../sub/foo/bar.png" alt="foo-bar2">' ,
91
131
'<img src="../baz.png" alt="baz">' ,
92
132
'<img src="../../out.png" alt="out">' ,
93
- '<img src=".../invalid.png" alt="invalid">' ,
133
+ '<img src="./汉字.png" alt="汉字">' ,
134
+ '<img src="./100%.png" alt="100%">' ,
135
+ // aliases
136
+ '<img src="@alias/foo.png" alt="alias">' ,
137
+ '<img src="@alias/汉字.png" alt="汉字">' ,
138
+ '<img src="@alias/100%.png" alt="100%">' ,
139
+ // webpack legacy aliases
140
+ '<img src="~@alias/foo.png" alt="~alias">' ,
141
+ '<img src="~@alias/汉字.png" alt="~汉字">' ,
142
+ '<img src="~@alias/100%.png" alt="~100%">' ,
143
+ // keep as is
94
144
'<img src="/absolute.png" alt="absolute">' ,
95
145
'<img src="http://foobar.com/icon.png" alt="url">' ,
96
146
'<img src="" alt="empty">' ,
97
- '<img src="@alias/foo.png" alt="alias">' ,
98
- '<img src="~@alias/foo.png" alt="~alias">' ,
147
+ // invalid paths
148
+ '<img src=".../invalid.png" alt="invalid">' ,
149
+ '<img src=".../汉字.png" alt="汉字">' ,
150
+ '<img src=".../100%.png" alt="100%">' ,
99
151
]
100
152
. map ( ( item ) => `<p>${ item } </p>` )
101
153
. join ( '\n' ) + '\n'
0 commit comments