Merge pull request #1288 from BerndSchwarzenbacher/issue#1209/codeblocks

Correctly render markdown code blocks with unknown language
This commit is contained in:
Min RK 2016-04-08 11:40:11 -07:00
commit 11dba4ea2e
2 changed files with 44 additions and 1 deletions

View File

@ -113,7 +113,8 @@ define(function (require) {
}
}, function (err) {
console.log("No CodeMirror mode: " + lang);
callback(err, code);
console.log("Require CodeMirror mode error: " + err);
callback(null, code);
});
}
});

View File

@ -60,4 +60,46 @@ casper.notebook_test(function () {
var hashes = new Array(level + 1).join('#');
this.test.assertEquals(level_text, hashes + ' ' + text, 'markdown set_heading_level ' + level);
}
// Test markdown code blocks
function md_render_test (codeblock, result, message) {
// make a cell and trigger render
casper.thenEvaluate(function (text) {
var cell = Jupyter.notebook.insert_cell_at_bottom('markdown');
cell.set_text(text);
// signal window._rendered when cell render completes
window._rendered = null;
cell.events.one("rendered.MarkdownCell", function (event, data) {
window._rendered = data.cell.get_rendered();
});
cell.render();
}, {text: codeblock});
// wait for render to complete
casper.waitFor(function () {
return casper.evaluate(function () {
return window._rendered;
});
});
// test after waiting
casper.then(function () {
// get rendered result
var output = casper.evaluate(function () {
var rendered = window._rendered;
delete window._rendered;
return rendered;
});
// perform test
this.test.assertEquals(output.trim(), result, message);
});
};
var codeblock = '```\nx = 1\n```'
var result = '<pre><code>x = 1\n</code></pre>'
md_render_test(codeblock, result, 'Markdown code block no language');
codeblock = '```aaaa\nx = 1\n```'
result = '<pre><code class="cm-s-ipython language-aaaa">x = 1\n</code></pre>'
md_render_test(codeblock, result, 'Markdown code block unknown language');
});