mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2025-12-24 18:32:41 +00:00
73 lines
2.8 KiB
JavaScript
73 lines
2.8 KiB
JavaScript
|
|
|
|
import Markdown from 'naturalcrit/markdown.js';
|
|
|
|
describe('Non-Breaking Spaces', ()=>{
|
|
test('Single Space', function() {
|
|
const source = ':>\n\n';
|
|
const rendered = Markdown.render(source).trim();
|
|
expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`<p> </p>`);
|
|
});
|
|
|
|
test('Double Space', function() {
|
|
const source = ':>>\n\n';
|
|
const rendered = Markdown.render(source).trim();
|
|
expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`<p> </p>`);
|
|
});
|
|
|
|
test('Triple Space', function() {
|
|
const source = ':>>>\n\n';
|
|
const rendered = Markdown.render(source).trim();
|
|
expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`<p> </p>`);
|
|
});
|
|
|
|
test('Many Space', function() {
|
|
const source = ':>>>>>>>>>>\n\n';
|
|
const rendered = Markdown.render(source).trim();
|
|
expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`<p> </p>`);
|
|
});
|
|
|
|
test('Multiple sets of Spaces', function() {
|
|
const source = ':>>>\n:>>>\n:>>>';
|
|
const rendered = Markdown.render(source).trim();
|
|
expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`<p> \n \n </p>`);
|
|
});
|
|
|
|
test('Pair of inline Spaces', function() {
|
|
const source = ':>>:>>';
|
|
const rendered = Markdown.render(source).trim();
|
|
expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`<p> </p>`);
|
|
});
|
|
|
|
test('Space 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(`<p>Line 1\n \nLine 2</p>`);
|
|
});
|
|
|
|
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(`<pre><code>\n:>\n</code></pre>`);
|
|
});
|
|
|
|
test('I am actually a single-line definition list!', function() {
|
|
const source = 'Term ::> Definition 1\n';
|
|
const rendered = Markdown.render(source).trim();
|
|
expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`<dl><dt>Term</dt><dd>> Definition 1</dd>\n</dl>`);
|
|
});
|
|
|
|
test('I am actually a definition list!', function() {
|
|
const source = 'Term\n::> Definition 1\n';
|
|
const rendered = Markdown.render(source).trim();
|
|
expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`<dl><dt>Term</dt>\n<dd>> Definition 1</dd></dl>`);
|
|
});
|
|
|
|
test('I am actually a two-term definition list!', function() {
|
|
const source = 'Term\n::> Definition 1\n::>> Definition 2';
|
|
const rendered = Markdown.render(source).trim();
|
|
expect(rendered, `Input:\n${source}`, { showPrefix: false }).toBe(`<dl><dt>Term</dt>\n<dd>> Definition 1</dd>\n<dd>>> Definition 2</dd></dl>`);
|
|
});
|
|
});
|
|
|