/* eslint-disable max-lines */ import Markdown from 'naturalcrit/markdown.js'; describe('Hard Breaks', ()=>{ test('Single Break', function() { const source = ':>\n\n'; const rendered = Markdown.render(source).trim(); expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`

 \n

`); }); test('Double Break', function() { const source = ':>>\n\n'; const rendered = Markdown.render(source).trim(); expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`

  \n

`); }); test('Triple Break', function() { const source = ':>>>\n\n'; const rendered = Markdown.render(source).trim(); expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`

   \n

`); }); test('Many Break', function() { const source = ':>>>>>>>>>>\n\n'; const rendered = Markdown.render(source).trim(); expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`

          \n

`); }); test('Multiple sets of Breaks', function() { const source = ':>>>\n:>>>\n:>>>'; const rendered = Markdown.render(source).trim(); expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`

   \n\n   \n\n   \n

`); }); test('Break directly between two paragraphs', function() { const source = 'Line 1\n:>>\nLine 2'; const rendered = Markdown.render(source).trim(); expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`

Line 1\n  \n\nLine 2

`); }); test('Ignored inside a code block', function() { const source = '```\n\n:>\n\n```\n'; const rendered = Markdown.render(source).trim(); expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`
\n:>\n
`); }); });