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- Two
Three\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
');
});
});