##// END OF EJS Templates
Merge pull request #5430 from jdfreder/elementappend...
Merge pull request #5430 from jdfreder/elementappend Make sure `element` is correct in the context of displayed JS

File last commit:

r15873:8be8acce
r15996:0f59d3f3 merge
Show More
execute_code.js
71 lines | 2.2 KiB | application/javascript | JavascriptLexer
David Wyde
Add CasperJS utility functions, and tests for code and...
r13249 //
// Test code cell execution.
//
Paul Ivanov
pep8 style function names
r13275 casper.notebook_test(function () {
David Wyde
Add CasperJS utility functions, and tests for code and...
r13249 this.evaluate(function () {
Paul Ivanov
consistently get the first cell
r13260 var cell = IPython.notebook.get_cell(0);
Thomas Kluyver
Use Python 3 compatible syntax in tests
r13278 cell.set_text('a=10; print(a)');
David Wyde
Add CasperJS utility functions, and tests for code and...
r13249 cell.execute();
});
Paul Ivanov
wait_for_output utility function
r13294 this.wait_for_output(0);
David Wyde
Add CasperJS utility functions, and tests for code and...
r13249
Paul Ivanov
refactor of get_output_cell
r13299 // refactor this into just a get_output(0)
David Wyde
Wrap CasperJS tests in a helper function to reduce boilerplate.
r13253 this.then(function () {
Paul Ivanov
refactor of get_output_cell
r13299 var result = this.get_output_cell(0);
Paul Ivanov
add checks for new cell added using shift-enter
r13300 this.test.assertEquals(result.text, '10\n', 'cell execute (using js)');
Paul Ivanov
repeat test with keyboard shortcut
r13292 });
// do it again with the keyboard shortcut
this.thenEvaluate(function () {
var cell = IPython.notebook.get_cell(0);
cell.set_text('a=11; print(a)');
Paul Ivanov
add checks for new cell added using shift-enter
r13300 cell.clear_output();
Paul Ivanov
use - for shortcut separators
r15873 IPython.keyboard.trigger_keydown('shift-enter');
Paul Ivanov
repeat test with keyboard shortcut
r13292 });
Paul Ivanov
wait_for_output utility function
r13294 this.wait_for_output(0);
Paul Ivanov
repeat test with keyboard shortcut
r13292
this.then(function () {
Paul Ivanov
refactor of get_output_cell
r13299 var result = this.get_output_cell(0);
Paul Ivanov
add checks for new cell added using shift-enter
r13300 var num_cells = this.get_cells_length();
this.test.assertEquals(result.text, '11\n', 'cell execute (using ctrl-enter)');
Brian E. Granger
Fixing tests from shift and ctrl enter swap.
r14947 this.test.assertEquals(num_cells, 2, 'shift-enter adds a new cell at the bottom')
David Wyde
Wrap CasperJS tests in a helper function to reduce boilerplate.
r13253 });
Paul Ivanov
utility functions + tests for shift- & ctrl-enter
r13293
// do it again with the keyboard shortcut
this.thenEvaluate(function () {
Brian E. Granger
Fixing more JS tests.
r14081 IPython.notebook.select(1);
IPython.notebook.delete_cell();
Paul Ivanov
utility functions + tests for shift- & ctrl-enter
r13293 var cell = IPython.notebook.get_cell(0);
cell.set_text('a=12; print(a)');
Paul Ivanov
add checks for new cell added using shift-enter
r13300 cell.clear_output();
Paul Ivanov
use - for shortcut separators
r15873 IPython.keyboard.trigger_keydown('ctrl-enter');
Paul Ivanov
utility functions + tests for shift- & ctrl-enter
r13293 });
Paul Ivanov
wait_for_output utility function
r13294 this.wait_for_output(0);
Paul Ivanov
utility functions + tests for shift- & ctrl-enter
r13293
this.then(function () {
Paul Ivanov
refactor of get_output_cell
r13299 var result = this.get_output_cell(0);
Paul Ivanov
add checks for new cell added using shift-enter
r13300 var num_cells = this.get_cells_length();
this.test.assertEquals(result.text, '12\n', 'cell execute (using shift-enter)');
Brian E. Granger
Fixing tests from shift and ctrl enter swap.
r14947 this.test.assertEquals(num_cells, 1, 'ctrl-enter adds no new cell at the bottom')
Paul Ivanov
utility functions + tests for shift- & ctrl-enter
r13293 });
Paul Ivanov
adds test of clicking the play button
r13301
// press the "play" triangle button in the toolbar
this.thenEvaluate(function () {
var cell = IPython.notebook.get_cell(0);
IPython.notebook.select(0);
cell.clear_output();
cell.set_text('a=13; print(a)');
$('#run_b').click();
});
this.wait_for_output(0);
this.then(function () {
var result = this.get_output_cell(0);
this.test.assertEquals(result.text, '13\n', 'cell execute (using "play" toolbar button)')
});
David Wyde
Add CasperJS utility functions, and tests for code and...
r13249 });