Prism code rendering

This commit is contained in:
Clément GOUIN
2019-06-21 11:31:26 +02:00
parent 5fb8e0fa45
commit 193e7f62cb
5 changed files with 144 additions and 2 deletions
+43
View File
@@ -7,6 +7,9 @@ const dataDir = 'test_data';
const file = path.join(dataDir, 'test.md');
const config = {
'modules': {
'prism': true,
},
'showdown': {
'simplifiedAutoLink': true,
'smartIndentationFix': true
@@ -50,4 +53,44 @@ test('custom rules', (done) => {
expect(html).toBe('<p><a href="http://www.google.com">www.google.com</a></p>');
done();
});
});
test('no prism', (done) => {
config['modules']['prism'] = false;
fs.writeFileSync(file, '```python\nprint("hello")\n```\n\n```python\nprint("hello")\n```');
renderer.render(file, (err, html) => {
expect(err).toBeNull();
expect(html).toBe('<pre><code class="python language-python">print("hello")\n</code></pre>\n<pre><code class="python language-python">print("hello")\n</code></pre>');
config['modules']['prism'] = true;
done();
});
});
test('prism correct', (done) => {
fs.writeFileSync(file, '```python\nprint("hello")\n```');
renderer.render(file, (err, html) => {
expect(err).toBeNull();
expect(html).not.toBe('<pre><code class="python language-python">print("hello")\n</code></pre>');
expect(html.indexOf('<pre><code class="python language-python">')).toBe(0);
done();
});
});
test('prism invalid lang', (done) => {
fs.writeFileSync(file, '```pythdon\nprint("hello")\n```');
renderer.render(file, (err, html) => {
expect(err).toBeNull();
expect(html).not.toBe('<pre><code class="pythdon language-pythdon">print("hello")\n</code></pre>');
expect(html.indexOf('<pre><code class="pythdon language-pythdon">')).toBe(0);
done();
});
});
test('prism mutliple code blocks', (done) => {
fs.writeFileSync(file, '```python\n\n```\n\n```python\n\n```');
renderer.render(file, (err, html) => {
expect(err).toBeNull();
expect(html).toBe('<pre><code class="python language-python"></code></pre>\n<pre><code class="python language-python"></code></pre>');
done();
});
});