Fix forEachInlineCodeSpan to handle lines ending with '\' better.

This commit is contained in:
David Anson 2019-09-25 21:59:37 -07:00
parent 33cb1a71ec
commit a5f03d02d0
3 changed files with 12 additions and 2 deletions

View file

@ -319,7 +319,8 @@ module.exports.forEachInlineCodeSpan =
currentLine++;
currentColumn = 0;
} else if ((char === "\\") &&
((startIndex === -1) || (startColumn === -1))) {
((startIndex === -1) || (startColumn === -1)) &&
(input[index + 1] !== "\n")) {
// Escape character outside code, skip next
index++;
currentColumn += 2;

View file

@ -66,3 +66,8 @@ text ` code {MD038}
span code
span` text
text.
"<!--"
-->
Text `code
code code `text` {MD038}

View file

@ -1833,7 +1833,7 @@ module.exports.includesSorted = function includesSorted(test) {
};
module.exports.forEachInlineCodeSpan = function forEachInlineCodeSpan(test) {
test.expect(94);
test.expect(99);
const testCases =
[
[
@ -1916,6 +1916,10 @@ module.exports.forEachInlineCodeSpan = function forEachInlineCodeSpan(test) {
[
"text \\` text `code`",
[ [ "code", 0, 14, 1 ] ]
],
[
"text\\\n`code`",
[ [ "code", 1, 1, 1 ] ]
]
];
testCases.forEach((testCase) => {