diff --git a/notebook/tests/notebook/markdown.js b/notebook/tests/notebook/markdown.js index 202379f0a..f26250a64 100644 --- a/notebook/tests/notebook/markdown.js +++ b/notebook/tests/notebook/markdown.js @@ -3,112 +3,14 @@ // casper.notebook_test(function () { "use strict"; - // Test JavaScript models. - var output = this.evaluate(function () { - IPython.notebook.to_markdown(); - var cell = IPython.notebook.get_selected_cell(); - cell.set_text('# Foo'); - cell.render(); - return cell.get_rendered(); - }); - this.test.assertEquals(output.trim(), '

FooΒΆ

', 'Markdown JS API works.'); - - // Test menubar entries. - output = this.evaluate(function () { - $('#to_code').mouseenter().click(); - $('#to_markdown').mouseenter().click(); - var cell = IPython.notebook.get_selected_cell(); - cell.set_text('**Bar**'); - $('#run_cell').mouseenter().click(); - return cell.get_rendered(); - }); - this.test.assertEquals(output.trim(), '

Bar

', 'Markdown menubar items work.'); - - // Test toolbar buttons. - output = this.evaluate(function () { - $('#cell_type').val('code').change(); - $('#cell_type').val('markdown').change(); - var cell = IPython.notebook.get_selected_cell(); - cell.set_text('*Baz*'); - $("button[data-jupyter-action='jupyter-notebook:run-cell-and-select-next']")[0].click(); - return cell.get_rendered(); - }); - this.test.assertEquals(output.trim(), '

Baz

', 'Markdown toolbar items work.'); - - // Test markdown headings var text = 'multi\nline'; - this.evaluate(function (text) { var cell = IPython.notebook.insert_cell_at_index('markdown', 0); cell.set_text(text); }, {text: text}); - var set_level = function (level) { - return casper.evaluate(function (level) { - var cell = IPython.notebook.get_cell(0); - cell.set_heading_level(level); - return cell.get_text(); - }, {level: level}); - }; - - var level_text; - var levels = [ 1, 2, 3, 4, 5, 6, 2, 1 ]; - for (var idx=0; idx < levels.length; idx++) { - var level = levels[idx]; - level_text = set_level(level); - 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 = '
x = 1
' - md_render_test(codeblock, result, 'Markdown code block no language'); - - codeblock = '```aaaa\nx = 1\n```' - result = '
x = 1
' - md_render_test(codeblock, result, 'Markdown code block unknown language'); - - codeblock = '```python\ns = "$"\nt = "$"\n```' - result = '
' + 
-             's = "$"\n' +
-             't = "$"
'; - md_render_test(codeblock, result, 'Markdown code block python'); - function mathjax_render_test(input_string, result, message){ casper.thenEvaluate(function (text){ window._test_result = null; diff --git a/notebook/tests/selenium/test_markdown.py b/notebook/tests/selenium/test_markdown.py index 7d068ce4e..cae1a7a03 100644 --- a/notebook/tests/selenium/test_markdown.py +++ b/notebook/tests/selenium/test_markdown.py @@ -13,6 +13,7 @@ def get_rendered_contents(nb): def test_markdown_cell(prefill_notebook): nb = prefill_notebook([new_markdown_cell(md) for md in [ '# Foo', '**Bar**', '*Baz*', '```\nx = 1\n```', '```aaaa\nx = 1\n```', + '```python\ns = "$"\nt = "$"\n```' ]]) assert get_rendered_contents(nb) == [ @@ -21,4 +22,20 @@ def test_markdown_cell(prefill_notebook): '

Baz

', '
x = 1
', '
x = 1
', + '
' + 
+        's = "$"\n' +
+        't = "$"
' ] + +def test_markdown_headings(notebook): + lst = list([1, 2, 3, 4, 5, 6, 2, 1]) + for i in lst: + notebook.add_markdown_cell() + cell_text = notebook.browser.execute_script(f""" + var cell = IPython.notebook.get_cell(1); + cell.set_heading_level({i}); + cell.get_text(); + """) + assert notebook.get_cell_contents(1) == "#" * i + " " + notebook.delete_cell(1) +