diff --git a/tests/markdown/marked-extensions.test.js b/tests/markdown/marked-extensions.test.js index d4446de68..71bb47a30 100644 --- a/tests/markdown/marked-extensions.test.js +++ b/tests/markdown/marked-extensions.test.js @@ -21,9 +21,34 @@ describe('Dictionary Terms', ()=>{ expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe('
My term
My First Definition
My Second Definition
My Third Definition
\n
'); }); + test('Multiline Definitions', function() { + const source = '**Example** :: V3 uses HTML *definition lists* to create "lists" with hanging indents.\n::Two::\nThree\n::Four\n\n'; + const rendered = Markdown.render(source); + expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe('
Example
\n
V3 uses HTML definition lists to create “lists” with hanging indents.
\n
TwoThree
\n
Four
\n
'); + }); + + test('Multiple Definition Terms, single line, single definition', function() { + const source = 'Term 1::Definition of Term 1\nTerm 2::Definition of Term 2'; + const rendered = Markdown.render(source); + expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe('
Term 1
Definition of Term 1
Term 2>
Definition of Term 2
\n
'); + }); + + test('Multiple Definition Terms, single line, multiple definitions', function() { + const source = 'Term 1::Definition 1 of Term 1::Definition 2 of Term 1\nTerm 2::Definition 1 of Term 2::Definition 2 of Term 2'; + const rendered = Markdown.render(source); + expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe('
Term 1
Definition of Term 1
Term 2>
Definition of Term 2
\n
'); + }); + + test('Multiple Definition Terms, single definitions, multiple lines', function() { + const source = 'Term 1::Definition 1 of Term 1\n::Definition 2 of Term 1\nTerm 2::Definition of Term 2'; + const rendered = Markdown.render(source); + expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe('
Term 1
Definition of Term 1
Term 2>
Definition of Term 2
\n
'); + }); + test('Multiple Definition Terms, multiple mixed-line definitions', function() { const source = 'Term 1::Definition 1 of Term 1\n::Definition 2 of Term 1::Definition 3 of Term 1\nTerm 2::Definition of Term 2'; const rendered = Markdown.render(source); + expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe('
Term 1
Definition of Term 1
Term 2>
Definition of Term 2
\n
'); }); });