@@ -28,19 +28,21 @@ const processHtml = (html, options, metastring) => {
28
28
. toString ( )
29
29
}
30
30
31
- test ( 'copies the language- class to pre tag' , ( ) => {
31
+ test ( 'adds a code-highlight class to the code tag' , ( ) => {
32
32
const result = processHtml ( dedent `
33
33
<pre><code class="language-py"></code></pre>
34
34
` )
35
- const expected = dedent `<pre class="language-py" ><code class="language-py"></code></pre>`
35
+ const expected = dedent `<pre><code class="language-py code-highlight "></code></pre>`
36
36
assert . is ( result , expected )
37
37
} )
38
38
39
- test ( 'add div with class code line for each line' , ( ) => {
40
- const result = processHtml ( dedent `
39
+ test ( 'add span with class code line for each line' , ( ) => {
40
+ const result = processHtml (
41
+ dedent `
41
42
<pre><code>x = 6</code></pre>
42
- ` )
43
- const expected = dedent `<pre><code><div class="code-line">x = 6</div></code></pre>`
43
+ `
44
+ )
45
+ const expected = dedent `<pre><code class="code-highlight"><span class="code-line">x = 6</span></code></pre>`
44
46
assert . is ( result , expected )
45
47
} )
46
48
@@ -54,7 +56,7 @@ test('finds code and highlights', () => {
54
56
const expected = dedent `
55
57
<div>
56
58
<p>foo</p>
57
- <pre class="language-py" ><code class="language-py"><div class="code-line">x <span class="token operator">=</span> <span class="token number">6</span></div ></code></pre>
59
+ <pre><code class="language-py code-highlight "><span class="code-line">x <span class="token operator">=</span> <span class="token number">6</span></span ></code></pre>
58
60
</div>
59
61
`
60
62
assert . is ( result , expected )
71
73
` ) . trim ( )
72
74
const expected = dedent `
73
75
<div>
74
- <pre class="language-py" ><code class="language-py"><div class="code-line">x
75
- </div><div class="code-line">
76
- </div><div class="code-line">y
77
- </div ></code></pre>
76
+ <pre><code class="language-py code-highlight "><span class="code-line">x
77
+ </span><span class="code-line">
78
+ </span><span class="code-line">y
79
+ </span ></code></pre>
78
80
</div>
79
81
`
80
82
assert . is ( result , expected )
@@ -90,7 +92,7 @@ test('handles uppercase correctly', () => {
90
92
const expected = dedent `
91
93
<div>
92
94
<p>foo</p>
93
- <pre class="language-py" ><code class="language-PY"><div class="code-line">x <span class="token operator">=</span> <span class="token number">6</span></div ></code></pre>
95
+ <pre><code class="language-PY code-highlight "><span class="code-line">x <span class="token operator">=</span> <span class="token number">6</span></span ></code></pre>
94
96
</div>
95
97
`
96
98
assert . is ( result , expected )
@@ -101,13 +103,13 @@ test('each line of code should be a separate div', async () => {
101
103
<div>
102
104
<p>foo</p>
103
105
<pre>
104
- <code class="language-py">x = 6
106
+ <code class="language-py code-highlight ">x = 6
105
107
y = 7
106
108
</code>
107
109
</pre>
108
110
</div>
109
111
` ) . trim ( )
110
- const codeLineCount = ( result . match ( / < d i v c l a s s = " c o d e - l i n e " > / g) || [ ] ) . length
112
+ const codeLineCount = ( result . match ( / < s p a n c l a s s = " c o d e - l i n e " > / g) || [ ] ) . length
111
113
assert . is ( codeLineCount , 2 )
112
114
} )
113
115
@@ -117,16 +119,16 @@ test('should highlight line', async () => {
117
119
dedent `
118
120
<div>
119
121
<pre>
120
- <code class="language-py">x = 6
121
- y = 7
122
+ <code class="language-py code-highlight ">x = 6
123
+ y = 7
122
124
</code>
123
125
</pre>
124
126
</div>
125
127
` ,
126
128
{ } ,
127
129
meta
128
130
) . trim ( )
129
- const codeHighlightCount = ( result . match ( / < d i v c l a s s = " c o d e - l i n e h i g h l i g h t - l i n e " > / g) || [ ] ) . length
131
+ const codeHighlightCount = ( result . match ( / < s p a n c l a s s = " c o d e - l i n e h i g h l i g h t - l i n e " > / g) || [ ] ) . length
130
132
assert . is ( codeHighlightCount , 1 )
131
133
} )
132
134
@@ -136,8 +138,8 @@ test('should highlight comma separated lines', async () => {
136
138
dedent `
137
139
<div>
138
140
<pre>
139
- <code class="language-py">x = 6
140
- y = 7
141
+ <code class="language-py code-highlight ">x = 6
142
+ y = 7
141
143
z = 10
142
144
</code>
143
145
</pre>
@@ -146,7 +148,7 @@ test('should highlight comma separated lines', async () => {
146
148
{ } ,
147
149
meta
148
150
) . trim ( )
149
- const codeHighlightCount = ( result . match ( / < d i v c l a s s = " c o d e - l i n e h i g h l i g h t - l i n e " > / g) || [ ] ) . length
151
+ const codeHighlightCount = ( result . match ( / < s p a n c l a s s = " c o d e - l i n e h i g h l i g h t - l i n e " > / g) || [ ] ) . length
150
152
assert . is ( codeHighlightCount , 2 )
151
153
} )
152
154
@@ -156,8 +158,8 @@ test('should should parse ranges with a space in between', async () => {
156
158
dedent `
157
159
<div>
158
160
<pre>
159
- <code class="language-py">x = 6
160
- y = 7
161
+ <code class="language-py code-highlight ">x = 6
162
+ y = 7
161
163
z = 10
162
164
</code>
163
165
</pre>
@@ -166,7 +168,7 @@ test('should should parse ranges with a space in between', async () => {
166
168
{ } ,
167
169
meta
168
170
) . trim ( )
169
- const codeHighlightCount = ( result . match ( / < d i v c l a s s = " c o d e - l i n e h i g h l i g h t - l i n e " > / g) || [ ] ) . length
171
+ const codeHighlightCount = ( result . match ( / < s p a n c l a s s = " c o d e - l i n e h i g h l i g h t - l i n e " > / g) || [ ] ) . length
170
172
assert . is ( codeHighlightCount , 2 )
171
173
} )
172
174
@@ -176,8 +178,8 @@ test('should highlight range separated lines', async () => {
176
178
dedent `
177
179
<div>
178
180
<pre>
179
- <code class="language-py">x = 6
180
- y = 7
181
+ <code class="language-py code-highlight ">x = 6
182
+ y = 7
181
183
z = 10
182
184
</code>
183
185
</pre>
@@ -186,7 +188,7 @@ test('should highlight range separated lines', async () => {
186
188
{ } ,
187
189
meta
188
190
) . trim ( )
189
- const codeHighlightCount = ( result . match ( / < d i v c l a s s = " c o d e - l i n e h i g h l i g h t - l i n e " > / g) || [ ] ) . length
191
+ const codeHighlightCount = ( result . match ( / < s p a n c l a s s = " c o d e - l i n e h i g h l i g h t - l i n e " > / g) || [ ] ) . length
190
192
assert . is ( codeHighlightCount , 3 )
191
193
} )
192
194
@@ -195,7 +197,7 @@ test('showLineNumbers option add line numbers', async () => {
195
197
dedent `
196
198
<div>
197
199
<pre>
198
- <code class="language-py">x = 6
200
+ <code class="language-py code-highlight ">x = 6
199
201
y = 7
200
202
</code>
201
203
</pre>
@@ -214,7 +216,7 @@ test('showLineNumbers property works in meta field', async () => {
214
216
dedent `
215
217
<div>
216
218
<pre>
217
- <code class="language-py">x = 6
219
+ <code class="language-py code-highlight ">x = 6
218
220
y = 7
219
221
</code>
220
222
</pre>
@@ -235,7 +237,7 @@ test('should support both highlighting and add line number', async () => {
235
237
<div>
236
238
<pre>
237
239
<code class="language-py">x = 6
238
- y = 7
240
+ y = 7
239
241
z = 10
240
242
</code>
241
243
</pre>
@@ -267,7 +269,7 @@ test('with options.ignoreMissing, does nothing to code block with fake language-
267
269
` ,
268
270
{ ignoreMissing : true }
269
271
)
270
- const expected = dedent `<pre class="language-thisisnotalanguage" ><code class="language-thisisnotalanguage"><div class="code-line">x = 6</div ></code></pre>`
272
+ const expected = dedent `<pre><code class="language-thisisnotalanguage code-highlight "><span class="code-line">x = 6</span ></code></pre>`
271
273
assert . is ( result , expected )
272
274
} )
273
275
@@ -282,11 +284,11 @@ test('should work with multiline code / comments', () => {
282
284
` ,
283
285
{ ignoreMissing : true }
284
286
)
285
- const expected = dedent `<pre class="language-js" ><code class="language-js"><div class="code-line">
286
- </div><div class="code-line"><span class="token doc-comment comment">/**
287
- </span></div><div class="code-line"><span class="token doc-comment comment"> * My comment
288
- </span></div><div class="code-line"><span class="token doc-comment comment"> */</span>
289
- </div ></code></pre>`
287
+ const expected = dedent `<pre><code class="language-js code-highlight "><span class="code-line">
288
+ </span><span class="code-line"><span class="token doc-comment comment">/**
289
+ </span></span><span class="code-line"><span class="token doc-comment comment"> * My comment
290
+ </span></span><span class="code-line"><span class="token doc-comment comment"> */</span>
291
+ </span ></code></pre>`
290
292
assert . is ( result , expected )
291
293
} )
292
294
0 commit comments