##// END OF EJS Templates
book icon for notebooks, color folders differently...
book icon for notebooks, color folders differently This allows us to use the generic file icon for text files, etc, down the line.

File last commit:

r15936:c5e9bff0
r16259:1351e6e1
Show More
dualmode.js
78 lines | 2.9 KiB | application/javascript | JavascriptLexer
Jonathan Frederic
Add dual mode JS tests
r15914 // Test the notebook dual mode feature.
// Test
casper.notebook_test(function () {
Jonathan Frederic
Added ctrl+(j&k), a, and b tests
r15928 var a = 'print("a")';
var index = this.append_cell(a);
Jonathan Frederic
Add dual mode JS tests
r15914 this.execute_cell_then(index);
Jonathan Frederic
Added ctrl+(j&k), a, and b tests
r15928
var b = 'print("b")';
index = this.append_cell(b);
Jonathan Frederic
Add dual mode JS tests
r15914 this.execute_cell_then(index);
Jonathan Frederic
Added ctrl+(j&k), a, and b tests
r15928
var c = 'print("c")';
index = this.append_cell(c);
Jonathan Frederic
Add dual mode JS tests
r15914 this.execute_cell_then(index);
this.then(function () {
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('initial state', 'edit', 0);
Jonathan Frederic
s/key_press/trigger_keydown
r15915 this.trigger_keydown('esc');
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('esc', 'command', 0);
Jonathan Frederic
s/key_press/trigger_keydown
r15915 this.trigger_keydown('down');
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('down', 'command', 1);
Jonathan Frederic
s/key_press/trigger_keydown
r15915 this.trigger_keydown('enter');
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('enter', 'edit', 1);
Jonathan Frederic
s/key_press/trigger_keydown
r15915 this.trigger_keydown('j');
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('j in edit mode', 'edit', 1);
Jonathan Frederic
s/key_press/trigger_keydown
r15915 this.trigger_keydown('esc');
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('esc', 'command', 1);
Jonathan Frederic
s/key_press/trigger_keydown
r15915 this.trigger_keydown('j');
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('j in command mode', 'command', 2);
Jonathan Frederic
Added up/down and markdown tests
r15926 this.click_cell_editor(0);
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('click cell 0', 'edit', 0);
Jonathan Frederic
Added up/down and markdown tests
r15926 this.click_cell_editor(3);
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('click cell 3', 'edit', 3);
Jonathan Frederic
s/key_press/trigger_keydown
r15915 this.trigger_keydown('esc');
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('esc', 'command', 3);
Jonathan Frederic
Add dual mode JS tests
r15914
// Open keyboard help
this.evaluate(function(){
$('#keyboard_shortcuts a').click();
}, {});
Jonathan Frederic
s/key_press/trigger_keydown
r15915 this.trigger_keydown('k');
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('k in command mode while keyboard help is up', 'command', 3);
Jonathan Frederic
Add dual mode JS tests
r15914
// Close keyboard help
this.evaluate(function(){
$('div.modal button.close').click();
}, {});
Jonathan Frederic
s/key_press/trigger_keydown
r15915 this.trigger_keydown('k');
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('k in command mode', 'command', 2);
Jonathan Frederic
Added up/down and markdown tests
r15926 this.click_cell_editor(0);
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('click cell 0', 'edit', 0);
Jonathan Frederic
Add dual mode JS tests
r15914 this.focus_notebook();
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('focus #notebook', 'command', 0);
Jonathan Frederic
Added up/down and markdown tests
r15926 this.click_cell_editor(0);
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('click cell 0', 'edit', 0);
Jonathan Frederic
Add dual mode JS tests
r15914 this.focus_notebook();
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('focus #notebook', 'command', 0);
Jonathan Frederic
Added up/down and markdown tests
r15926 this.click_cell_editor(3);
Jonathan Frederic
HUGE speed improvements to dual mode tests
r15934 this.validate_notebook_state('click cell 3', 'edit', 3);
Jonathan Frederic
Made *+enter tests more complicated.
r15922
Jonathan Frederic
Added ctrl+(j&k), a, and b tests
r15928 // Cell deletion
Jonathan Frederic
Cleaned up test names and locations.
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
Add dd tests
r15924
Jonathan Frederic
Added ctrl+(j&k), a, and b tests
r15928 // Make sure that if the time between d presses is too long, nothing gets removed.
Jonathan Frederic
Add dd tests
r15924 this.trigger_keydown('d');
Jonathan Frederic
Add dual mode JS tests
r15914 });
Jonathan Frederic
Add dd tests
r15924 this.wait(1000);
this.then(function () {
this.trigger_keydown('d');
Jonathan Frederic
Cleaned up test names and locations.
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
Add dd tests
r15924 });
Jonathan Frederic
Add dual mode JS tests
r15914 });