Browse Source

Apply special rules for collapsing whitespace inside code blocks

Change as per commonmark 0.29 spec

See also:
e121b4e301
pull/570/head
Alex Kocharin 6 years ago
parent
commit
7997fdadcd
  1. 4
      lib/rules_inline/backticks.js
  2. 140
      test/fixtures/commonmark/bad.txt
  3. 93
      test/fixtures/commonmark/good.txt
  4. 9
      test/fixtures/markdown-it/commonmark_extras.txt

4
lib/rules_inline/backticks.js

@ -29,8 +29,8 @@ module.exports = function backtick(state, silent) {
token = state.push('code_inline', 'code', 0);
token.markup = marker;
token.content = state.src.slice(pos, matchStart)
.replace(/[ \n]+/g, ' ')
.trim();
.replace(/\n/g, ' ')
.replace(/^ (.+) $/, '$1');
}
state.pos = matchEnd;
return true;

140
test/fixtures/commonmark/bad.txt

@ -1,20 +1,3 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 1884
.
``` ```
aaa
.
<p><code> </code>
aaa</p>
.
error:
<p><code></code>
aaa</p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5176
@ -82,114 +65,6 @@ error:
</ol>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5898
.
` `` `
.
<p><code> `` </code></p>
.
error:
<p><code>``</code></p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5907
.
` a`
.
<p><code> a</code></p>
.
error:
<p><code>a</code></p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5916
.
` b `
.
<p><code> b </code></p>
.
error:
<p><code>b</code></p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5924
.
` `
` `
.
<p><code> </code>
<code> </code></p>
.
error:
<p><code></code>
<code></code></p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5935
.
``
foo
bar
baz
``
.
<p><code>foo bar baz</code></p>
.
error:
<p><code>foo bar baz</code></p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5945
.
``
foo
``
.
<p><code>foo </code></p>
.
error:
<p><code>foo</code></p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5956
.
`foo bar
baz`
.
<p><code>foo bar baz</code></p>
.
error:
<p><code>foo bar baz</code></p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 6912
@ -218,18 +93,3 @@ error:
<p>foo******bar*********baz</p>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 9240
.
`code
span`
.
<p><code>code span</code></p>
.
error:
<p><code>code span</code></p>

93
test/fixtures/commonmark/good.txt

@ -1374,6 +1374,17 @@ aaa
</code></pre>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 1884
.
``` ```
aaa
.
<p><code> </code>
aaa</p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 1893
@ -4648,6 +4659,78 @@ src line: 5890
<p><code>``</code></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5898
.
` `` `
.
<p><code> `` </code></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5907
.
` a`
.
<p><code> a</code></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5916
.
` b `
.
<p><code> b </code></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5924
.
` `
` `
.
<p><code> </code>
<code> </code></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5935
.
``
foo
bar
baz
``
.
<p><code>foo bar baz</code></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5945
.
``
foo
``
.
<p><code>foo </code></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5956
.
`foo bar
baz`
.
<p><code>foo bar baz</code></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 5973
@ -7523,6 +7606,16 @@ bar*
bar</em></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 9240
.
`code
span`
.
<p><code>code span</code></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 9248

9
test/fixtures/markdown-it/commonmark_extras.txt

@ -475,11 +475,6 @@ Coverage. Various tags not interrupting blockquotes because of indentation:
> foo
# not a heading
> foo
```
not a fence
```
.
<blockquote>
<p>foo
@ -489,8 +484,4 @@ Coverage. Various tags not interrupting blockquotes because of indentation:
<p>foo
# not a heading</p>
</blockquote>
<blockquote>
<p>foo
<code>not a fence</code></p>
</blockquote>
.

Loading…
Cancel
Save