dualmode.js
78 lines
| 2.9 KiB
| application/javascript
|
JavascriptLexer
Jonathan Frederic
|
r15914 | // Test the notebook dual mode feature. | ||
// Test | ||||
casper.notebook_test(function () { | ||||
Jonathan Frederic
|
r15928 | var a = 'print("a")'; | ||
var index = this.append_cell(a); | ||||
Jonathan Frederic
|
r15914 | this.execute_cell_then(index); | ||
Jonathan Frederic
|
r15928 | |||
var b = 'print("b")'; | ||||
index = this.append_cell(b); | ||||
Jonathan Frederic
|
r15914 | this.execute_cell_then(index); | ||
Jonathan Frederic
|
r15928 | |||
var c = 'print("c")'; | ||||
index = this.append_cell(c); | ||||
Jonathan Frederic
|
r15914 | this.execute_cell_then(index); | ||
this.then(function () { | ||||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('initial state', 'edit', 0); | ||
Jonathan Frederic
|
r15915 | this.trigger_keydown('esc'); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('esc', 'command', 0); | ||
Jonathan Frederic
|
r15915 | this.trigger_keydown('down'); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('down', 'command', 1); | ||
Jonathan Frederic
|
r15915 | this.trigger_keydown('enter'); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('enter', 'edit', 1); | ||
Jonathan Frederic
|
r15915 | this.trigger_keydown('j'); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('j in edit mode', 'edit', 1); | ||
Jonathan Frederic
|
r15915 | this.trigger_keydown('esc'); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('esc', 'command', 1); | ||
Jonathan Frederic
|
r15915 | this.trigger_keydown('j'); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('j in command mode', 'command', 2); | ||
Jonathan Frederic
|
r15926 | this.click_cell_editor(0); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('click cell 0', 'edit', 0); | ||
Jonathan Frederic
|
r15926 | this.click_cell_editor(3); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('click cell 3', 'edit', 3); | ||
Jonathan Frederic
|
r15915 | this.trigger_keydown('esc'); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('esc', 'command', 3); | ||
Jonathan Frederic
|
r15914 | |||
// Open keyboard help | ||||
this.evaluate(function(){ | ||||
$('#keyboard_shortcuts a').click(); | ||||
}, {}); | ||||
Jonathan Frederic
|
r15915 | this.trigger_keydown('k'); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('k in command mode while keyboard help is up', 'command', 3); | ||
Jonathan Frederic
|
r15914 | |||
// Close keyboard help | ||||
this.evaluate(function(){ | ||||
$('div.modal button.close').click(); | ||||
}, {}); | ||||
Jonathan Frederic
|
r15915 | this.trigger_keydown('k'); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('k in command mode', 'command', 2); | ||
Jonathan Frederic
|
r15926 | this.click_cell_editor(0); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('click cell 0', 'edit', 0); | ||
Jonathan Frederic
|
r15914 | this.focus_notebook(); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('focus #notebook', 'command', 0); | ||
Jonathan Frederic
|
r15926 | this.click_cell_editor(0); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('click cell 0', 'edit', 0); | ||
Jonathan Frederic
|
r15914 | this.focus_notebook(); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('focus #notebook', 'command', 0); | ||
Jonathan Frederic
|
r15926 | this.click_cell_editor(3); | ||
Jonathan Frederic
|
r15934 | this.validate_notebook_state('click cell 3', 'edit', 3); | ||
Jonathan Frederic
|
r15922 | |||
Jonathan Frederic
|
r15928 | // Cell deletion | ||
Jonathan Frederic
|
r15936 | this.trigger_keydown('esc', 'd', 'd'); | ||
this.test.assertEquals(this.get_cells_length(), 3, 'dd actually deletes a cell'); | ||||
this.validate_notebook_state('dd', 'command', 2); | ||||
Jonathan Frederic
|
r15924 | |||
Jonathan Frederic
|
r15928 | // Make sure that if the time between d presses is too long, nothing gets removed. | ||
Jonathan Frederic
|
r15924 | this.trigger_keydown('d'); | ||
Jonathan Frederic
|
r15914 | }); | ||
Jonathan Frederic
|
r15924 | this.wait(1000); | ||
this.then(function () { | ||||
this.trigger_keydown('d'); | ||||
Jonathan Frederic
|
r15936 | this.test.assertEquals(this.get_cells_length(), 3, "d, 1 second wait, d doesn't delete a cell"); | ||
this.validate_notebook_state('d, 1 second wait, d', 'command', 2); | ||||
Jonathan Frederic
|
r15924 | }); | ||
Jonathan Frederic
|
r15914 | }); | ||