diff --git a/IPython/html/tests/notebook/dualmode.js b/IPython/html/tests/notebook/dualmode.js index 2f7ce2e..32454ef 100644 --- a/IPython/html/tests/notebook/dualmode.js +++ b/IPython/html/tests/notebook/dualmode.js @@ -229,17 +229,42 @@ casper.notebook_test(function () { this.test.assertEquals(this.get_cell_text(3), '', 'b; New cell 3 text is empty'); this.validate_state('b', 'command', 3); - // Copy/past/cut + // Copy/paste/cut var num_cells = this.get_cells_length(); this.test.assertEquals(this.get_cell_text(1), a, 'Verify that cell 1 is a'); this.select_cell(1); this.trigger_keydown('x'); // Cut this.validate_state('x', 'command', 1); - this.test.assertEquals(this.get_cells_length(), num_cells-1, 'Verify that the cell was removed.'); + this.test.assertEquals(this.get_cells_length(), num_cells-1, 'Verify that a cell was removed.'); this.test.assertEquals(this.get_cell_text(1), '', 'Verify that cell 2 is now where cell 1 was.'); this.select_cell(2); this.trigger_keydown('v'); // Paste - this.validate_state('v', 'command', 3); + this.validate_state('v', 'command', 3); // Selection should move to pasted cell, below current cell. + this.test.assertEquals(this.get_cell_text(3), a, 'Verify that cell 3 has the cut contents.'); + this.test.assertEquals(this.get_cells_length(), num_cells, 'Verify a the cell was added.'); + this.trigger_keydown('v'); // Paste + this.validate_state('v', 'command', 4); // Selection should move to pasted cell, below current cell. + this.test.assertEquals(this.get_cell_text(4), a, 'Verify that cell 4 has the cut contents.'); + this.test.assertEquals(this.get_cells_length(), num_cells+1, 'Verify a the cell was added.'); + this.select_cell(5); + this.trigger_keydown('c'); // Copy + this.validate_state('c', 'command', 5); + this.test.assertEquals(this.get_cell_text(5), b, 'Verify that cell 5 is b'); + this.select_cell(6); + this.trigger_keydown('c'); // Copy + this.validate_state('c', 'command', 6); + this.test.assertEquals(this.get_cell_text(6), c, 'Verify that cell 6 is c'); + this.trigger_keydown('v'); // Paste + this.validate_state('v', 'command', 7); + this.test.assertEquals(this.get_cell_text(6), c, 'Verify that cell 6 still has the copied contents.'); + this.test.assertEquals(this.get_cell_text(7), c, 'Verify that cell 7 has the copied contents.'); + this.test.assertEquals(this.get_cells_length(), num_cells+2, 'Verify a the cell was added.'); + this.select_cell(0); + this.trigger_keydown('shift+v'); // Paste + this.validate_state('shift+v', 'command', 0); + this.test.assertEquals(this.get_cell_text(0), c, 'Verify that cell 0 has the copied contents.'); + this.test.assertEquals(this.get_cells_length(), num_cells+3, 'Verify a the cell was added.'); + });