Skip to content

Commit 7bccaeb

Browse files
committed
add new line to list item raw
1 parent e40d5c4 commit 7bccaeb

2 files changed

Lines changed: 19 additions & 8 deletions

File tree

src/Tokenizer.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,13 +285,16 @@ module.exports = class Tokenizer {
285285

286286
// trim item newlines at end
287287
item = rtrim(item, '\n');
288+
if (i !== l - 1) {
289+
raw = raw + '\n';
290+
}
288291

289292
// Determine whether item is loose or not.
290293
// Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
291294
// for discount behavior.
292295
loose = next || /\n\n(?!\s*$)/.test(raw);
293296
if (i !== l - 1) {
294-
next = raw.charAt(raw.length - 1) === '\n';
297+
next = raw.slice(-2) === '\n\n';
295298
if (!loose) loose = next;
296299
}
297300

test/unit/Lexer-spec.js

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ a | b
308308
items: [
309309
{
310310
type: 'list_item',
311-
raw: '- item 1',
311+
raw: '- item 1\n',
312312
task: false,
313313
checked: undefined,
314314
loose: false,
@@ -354,7 +354,7 @@ a | b
354354
start: 1,
355355
items: [
356356
jasmine.objectContaining({
357-
raw: '1. item 1'
357+
raw: '1. item 1\n'
358358
}),
359359
jasmine.objectContaining({
360360
raw: '2. item 2\n'
@@ -379,7 +379,7 @@ a | b
379379
start: 1,
380380
items: [
381381
jasmine.objectContaining({
382-
raw: '1) item 1'
382+
raw: '1) item 1\n'
383383
}),
384384
jasmine.objectContaining({
385385
raw: '2) item 2\n'
@@ -408,7 +408,7 @@ paragraph
408408
items: [
409409
{
410410
type: 'list_item',
411-
raw: '- item 1',
411+
raw: '- item 1\n',
412412
task: false,
413413
checked: undefined,
414414
loose: false,
@@ -464,7 +464,7 @@ paragraph
464464
start: 2,
465465
items: [
466466
jasmine.objectContaining({
467-
raw: '2. item 1'
467+
raw: '2. item 1\n'
468468
}),
469469
jasmine.objectContaining({
470470
raw: '3. item 2\n'
@@ -486,7 +486,15 @@ paragraph
486486
jasmine.objectContaining({
487487
type: 'list',
488488
raw: '- item 1\n\n- item 2\n',
489-
loose: true
489+
loose: true,
490+
items: [
491+
jasmine.objectContaining({
492+
raw: '- item 1\n\n'
493+
}),
494+
jasmine.objectContaining({
495+
raw: '- item 2\n'
496+
})
497+
]
490498
})
491499
])
492500
});
@@ -504,7 +512,7 @@ paragraph
504512
raw: '- [ ] item 1\n- [x] item 2\n',
505513
items: [
506514
jasmine.objectContaining({
507-
raw: '- [ ] item 1',
515+
raw: '- [ ] item 1\n',
508516
task: true,
509517
checked: false
510518
}),

0 commit comments

Comments
 (0)