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 = state.push('code_inline', 'code', 0);
token.markup = marker; token.markup = marker;
token.content = state.src.slice(pos, matchStart) token.content = state.src.slice(pos, matchStart)
.replace(/[ \n]+/g, ' ') .replace(/\n/g, ' ')
.trim(); .replace(/^ (.+) $/, '$1');
} }
state.pos = matchEnd; state.pos = matchEnd;
return true; 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 src line: 5176
@ -82,114 +65,6 @@ error:
</ol> </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 src line: 6912
@ -218,18 +93,3 @@ error:
<p>foo******bar*********baz</p> <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> </code></pre>
. .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 1884
.
``` ```
aaa
.
<p><code> </code>
aaa</p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 1893 src line: 1893
@ -4648,6 +4659,78 @@ src line: 5890
<p><code>``</code></p> <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 src line: 5973
@ -7523,6 +7606,16 @@ bar*
bar</em></p> bar</em></p>
. .
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 9240
.
`code
span`
.
<p><code>code span</code></p>
.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src line: 9248 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 > foo
# not a heading # not a heading
> foo
```
not a fence
```
. .
<blockquote> <blockquote>
<p>foo <p>foo
@ -489,8 +484,4 @@ Coverage. Various tags not interrupting blockquotes because of indentation:
<p>foo <p>foo
# not a heading</p> # not a heading</p>
</blockquote> </blockquote>
<blockquote>
<p>foo
<code>not a fence</code></p>
</blockquote>
. .

Loading…
Cancel
Save