dualmode_cellinsert.js
77 lines
| 3.3 KiB
| application/javascript
|
JavascriptLexer
Jonathan Frederic
|
r15936 | |||
// Test | ||||
casper.notebook_test(function () { | ||||
var a = 'print("a")'; | ||||
var index = this.append_cell(a); | ||||
this.execute_cell_then(index); | ||||
var b = 'print("b")'; | ||||
index = this.append_cell(b); | ||||
this.execute_cell_then(index); | ||||
var c = 'print("c")'; | ||||
index = this.append_cell(c); | ||||
this.execute_cell_then(index); | ||||
MinRK
|
r17785 | |||
this.thenEvaluate(function() { | ||||
IPython.notebook.default_cell_type = 'code'; | ||||
}); | ||||
Jonathan Frederic
|
r15936 | this.then(function () { | ||
// Cell insertion | ||||
this.select_cell(2); | ||||
MinRK
|
r17785 | this.trigger_keydown('m'); // Make it markdown | ||
Jonathan Frederic
|
r15936 | this.trigger_keydown('a'); // Creates one cell | ||
this.test.assertEquals(this.get_cell_text(2), '', 'a; New cell 2 text is empty'); | ||||
MinRK
|
r17785 | this.test.assertEquals(this.get_cell(2).cell_type, 'code', 'a; inserts a code cell'); | ||
Jonathan Frederic
|
r15936 | this.validate_notebook_state('a', 'command', 2); | ||
this.trigger_keydown('b'); // Creates one cell | ||||
this.test.assertEquals(this.get_cell_text(2), '', 'b; Cell 2 text is still empty'); | ||||
this.test.assertEquals(this.get_cell_text(3), '', 'b; New cell 3 text is empty'); | ||||
MinRK
|
r17785 | this.test.assertEquals(this.get_cell(3).cell_type, 'code', 'b; inserts a code cell'); | ||
Jonathan Frederic
|
r15936 | this.validate_notebook_state('b', 'command', 3); | ||
}); | ||||
MinRK
|
r17785 | |||
this.thenEvaluate(function() { | ||||
IPython.notebook.default_cell_type = 'selected'; | ||||
}); | ||||
Paul Ivanov
|
r16781 | this.then(function () { | ||
this.select_cell(2); | ||||
this.trigger_keydown('m'); // switch it to markdown for the next test | ||||
MinRK
|
r17785 | this.test.assertEquals(this.get_cell(2).cell_type, 'markdown', 'test cell is markdown'); | ||
this.trigger_keydown('a'); // new cell above | ||||
this.test.assertEquals(this.get_cell(2).cell_type, 'markdown', 'a; inserts a markdown cell when markdown selected'); | ||||
this.trigger_keydown('b'); // new cell below | ||||
this.test.assertEquals(this.get_cell(3).cell_type, 'markdown', 'b; inserts a markdown cell when markdown selected'); | ||||
}); | ||||
this.thenEvaluate(function() { | ||||
IPython.notebook.default_cell_type = 'above'; | ||||
}); | ||||
this.then(function () { | ||||
this.select_cell(2); | ||||
MinRK
|
r18596 | this.trigger_keydown('y'); // switch it to code for the next test | ||
this.test.assertEquals(this.get_cell(2).cell_type, 'code', 'test cell is code'); | ||||
MinRK
|
r17785 | this.trigger_keydown('b'); // new cell below | ||
MinRK
|
r18596 | this.test.assertEquals(this.get_cell(3).cell_type, 'code', 'b; inserts a code cell below code cell'); | ||
MinRK
|
r17785 | this.trigger_keydown('a'); // new cell above | ||
MinRK
|
r18602 | this.test.assertEquals(this.get_cell(3).cell_type, 'code', 'a; inserts a code cell above code cell'); | ||
MinRK
|
r17785 | }); | ||
this.thenEvaluate(function() { | ||||
IPython.notebook.default_cell_type = 'below'; | ||||
}); | ||||
this.then(function () { | ||||
this.select_cell(2); | ||||
this.trigger_keydown('r'); // switch it to markdown for the next test | ||||
this.test.assertEquals(this.get_cell(2).cell_type, 'raw', 'test cell is raw'); | ||||
this.trigger_keydown('a'); // new cell above | ||||
this.test.assertEquals(this.get_cell(2).cell_type, 'raw', 'a; inserts a raw cell above raw cell'); | ||||
this.trigger_keydown('y'); // switch it to code for the next test | ||||
this.trigger_keydown('b'); // new cell below | ||||
MinRK
|
r18602 | this.test.assertEquals(this.get_cell(3).cell_type, 'raw', 'b; inserts a raw cell below raw cell'); | ||
Paul Ivanov
|
r16781 | }); | ||
}); | ||||