From e0b69dce1476cc3f143005fa3ae012aef5601bc1 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Thu, 22 Aug 2024 21:49:40 -0400 Subject: [PATCH] add more test cases Test a large number of breaks, and interaction with paragraphs --- tests/markdown/hard-breaks.test.js | 47 ++++++++++++++++++++++++++++++ tests/markdown/hardbreaks.test.js | 30 ------------------- 2 files changed, 47 insertions(+), 30 deletions(-) create mode 100644 tests/markdown/hard-breaks.test.js delete mode 100644 tests/markdown/hardbreaks.test.js diff --git a/tests/markdown/hard-breaks.test.js b/tests/markdown/hard-breaks.test.js new file mode 100644 index 000000000..3d0f59a41 --- /dev/null +++ b/tests/markdown/hard-breaks.test.js @@ -0,0 +1,47 @@ +/* eslint-disable max-lines */ + +const Markdown = require('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(`
`); + }); + + test('Double Break', function() { + const source = '::\n\n'; + const rendered = Markdown.render(source).trim(); + expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`
`); + }); + + test('Triple Break', function() { + const source = ':::\n\n'; + const rendered = Markdown.render(source).trim(); + expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`
`); + }); + + test('Many Break', function() { + const source = '::::::::::\n\n'; + const rendered = Markdown.render(source).trim(); + expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`
`); + }); + + 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
`); + }); + + 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

Line 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
`); + }); +}); diff --git a/tests/markdown/hardbreaks.test.js b/tests/markdown/hardbreaks.test.js deleted file mode 100644 index 4728e7674..000000000 --- a/tests/markdown/hardbreaks.test.js +++ /dev/null @@ -1,30 +0,0 @@ -/* eslint-disable max-lines */ - -const Markdown = require('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('
'); - }); - - test('Double Break', function() { - const source = '::\n\n'; - const rendered = Markdown.render(source).trim(); - expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe('
'); - }); - - test('Triple Break', function() { - const source = ':::\n\n'; - const rendered = Markdown.render(source).trim(); - expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe('
'); - }); - - 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
'); - }); - -});