Skip to content

Commit de2f3f7

Browse files
authored
remove old JS markdown tests, add a new one in selenium (#5497)
* remove old JS tests, which are already converted to pytest add test for a markdown heading * Update markdown.js remove old test [skip ci] * remove debug statement [skip ci]
1 parent db90cf3 commit de2f3f7

File tree

2 files changed

+17
-98
lines changed

2 files changed

+17
-98
lines changed

notebook/tests/notebook/markdown.js

Lines changed: 0 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -3,112 +3,14 @@
33
//
44
casper.notebook_test(function () {
55
"use strict";
6-
// Test JavaScript models.
7-
var output = this.evaluate(function () {
8-
IPython.notebook.to_markdown();
9-
var cell = IPython.notebook.get_selected_cell();
10-
cell.set_text('# Foo');
11-
cell.render();
12-
return cell.get_rendered();
13-
});
14-
this.test.assertEquals(output.trim(), '<h1 id=\"Foo\">Foo<a class=\"anchor-link\" href=\"#Foo\">¶</a></h1>', 'Markdown JS API works.');
15-
16-
// Test menubar entries.
17-
output = this.evaluate(function () {
18-
$('#to_code').mouseenter().click();
19-
$('#to_markdown').mouseenter().click();
20-
var cell = IPython.notebook.get_selected_cell();
21-
cell.set_text('**Bar**');
22-
$('#run_cell').mouseenter().click();
23-
return cell.get_rendered();
24-
});
25-
this.test.assertEquals(output.trim(), '<p><strong>Bar</strong></p>', 'Markdown menubar items work.');
26-
27-
// Test toolbar buttons.
28-
output = this.evaluate(function () {
29-
$('#cell_type').val('code').change();
30-
$('#cell_type').val('markdown').change();
31-
var cell = IPython.notebook.get_selected_cell();
32-
cell.set_text('*Baz*');
33-
$("button[data-jupyter-action='jupyter-notebook:run-cell-and-select-next']")[0].click();
34-
return cell.get_rendered();
35-
});
36-
this.test.assertEquals(output.trim(), '<p><em>Baz</em></p>', 'Markdown toolbar items work.');
37-
38-
// Test markdown headings
396

407
var text = 'multi\nline';
41-
428
this.evaluate(function (text) {
439
var cell = IPython.notebook.insert_cell_at_index('markdown', 0);
4410
cell.set_text(text);
4511
}, {text: text});
4612

47-
var set_level = function (level) {
48-
return casper.evaluate(function (level) {
49-
var cell = IPython.notebook.get_cell(0);
50-
cell.set_heading_level(level);
51-
return cell.get_text();
52-
}, {level: level});
53-
};
54-
55-
var level_text;
56-
var levels = [ 1, 2, 3, 4, 5, 6, 2, 1 ];
57-
for (var idx=0; idx < levels.length; idx++) {
58-
var level = levels[idx];
59-
level_text = set_level(level);
60-
var hashes = new Array(level + 1).join('#');
61-
this.test.assertEquals(level_text, hashes + ' ' + text, 'markdown set_heading_level ' + level);
62-
}
63-
6413
// Test markdown code blocks
65-
66-
67-
function md_render_test (codeblock, result, message) {
68-
// make a cell and trigger render
69-
casper.thenEvaluate(function (text) {
70-
var cell = Jupyter.notebook.insert_cell_at_bottom('markdown');
71-
cell.set_text(text);
72-
// signal window._rendered when cell render completes
73-
window._rendered = null;
74-
cell.events.one("rendered.MarkdownCell", function (event, data) {
75-
window._rendered = data.cell.get_rendered();
76-
});
77-
cell.render();
78-
}, {text: codeblock});
79-
// wait for render to complete
80-
casper.waitFor(function () {
81-
return casper.evaluate(function () {
82-
return window._rendered;
83-
});
84-
});
85-
// test after waiting
86-
casper.then(function () {
87-
// get rendered result
88-
var output = casper.evaluate(function () {
89-
var rendered = window._rendered;
90-
delete window._rendered;
91-
return rendered;
92-
});
93-
// perform test
94-
this.test.assertEquals(output.trim(), result, message);
95-
});
96-
};
97-
98-
var codeblock = '```\nx = 1\n```'
99-
var result = '<pre><code>x = 1</code></pre>'
100-
md_render_test(codeblock, result, 'Markdown code block no language');
101-
102-
codeblock = '```aaaa\nx = 1\n```'
103-
result = '<pre><code class="cm-s-ipython language-aaaa">x = 1</code></pre>'
104-
md_render_test(codeblock, result, 'Markdown code block unknown language');
105-
106-
codeblock = '```python\ns = "$"\nt = "$"\n```'
107-
result = '<pre><code class="cm-s-ipython language-python">' +
108-
'<span class="cm-variable">s</span> <span class="cm-operator">=</span> <span class="cm-string">"$"</span>\n' +
109-
'<span class="cm-variable">t</span> <span class="cm-operator">=</span> <span class="cm-string">"$"</span></code></pre>';
110-
md_render_test(codeblock, result, 'Markdown code block python');
111-
11214
function mathjax_render_test(input_string, result, message){
11315
casper.thenEvaluate(function (text){
11416
window._test_result = null;

notebook/tests/selenium/test_markdown.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ def get_rendered_contents(nb):
1313
def test_markdown_cell(prefill_notebook):
1414
nb = prefill_notebook([new_markdown_cell(md) for md in [
1515
'# Foo', '**Bar**', '*Baz*', '```\nx = 1\n```', '```aaaa\nx = 1\n```',
16+
'```python\ns = "$"\nt = "$"\n```'
1617
]])
1718

1819
assert get_rendered_contents(nb) == [
@@ -21,4 +22,20 @@ def test_markdown_cell(prefill_notebook):
2122
'<p><em>Baz</em></p>',
2223
'<pre><code>x = 1</code></pre>',
2324
'<pre><code class="cm-s-ipython language-aaaa">x = 1</code></pre>',
25+
'<pre><code class="cm-s-ipython language-python">' +
26+
'<span class="cm-variable">s</span> <span class="cm-operator">=</span> <span class="cm-string">"$"</span>\n' +
27+
'<span class="cm-variable">t</span> <span class="cm-operator">=</span> <span class="cm-string">"$"</span></code></pre>'
2428
]
29+
30+
def test_markdown_headings(notebook):
31+
lst = list([1, 2, 3, 4, 5, 6, 2, 1])
32+
for i in lst:
33+
notebook.add_markdown_cell()
34+
cell_text = notebook.browser.execute_script(f"""
35+
var cell = IPython.notebook.get_cell(1);
36+
cell.set_heading_level({i});
37+
cell.get_text();
38+
""")
39+
assert notebook.get_cell_contents(1) == "#" * i + " "
40+
notebook.delete_cell(1)
41+

0 commit comments

Comments
 (0)