Show More
@@ -23,9 +23,9 b' casper.notebook_test(function () {' | |||
|
23 | 23 | this.validate_state('esc', 'command', 1); |
|
24 | 24 | this.trigger_keydown('j'); |
|
25 | 25 | this.validate_state('j in command mode', 'command', 2); |
|
26 | this.click_cell(0); | |
|
26 | this.click_cell_editor(0); | |
|
27 | 27 | this.validate_state('click cell 0', 'edit', 0); |
|
28 | this.click_cell(3); | |
|
28 | this.click_cell_editor(3); | |
|
29 | 29 | this.validate_state('click cell 3', 'edit', 3); |
|
30 | 30 | this.trigger_keydown('esc'); |
|
31 | 31 | this.validate_state('esc', 'command', 3); |
@@ -45,15 +45,15 b' casper.notebook_test(function () {' | |||
|
45 | 45 | |
|
46 | 46 | this.trigger_keydown('k'); |
|
47 | 47 | this.validate_state('k in command mode', 'command', 2); |
|
48 | this.click_cell(0); | |
|
48 | this.click_cell_editor(0); | |
|
49 | 49 | this.validate_state('click cell 0', 'edit', 0); |
|
50 | 50 | this.focus_notebook(); |
|
51 | 51 | this.validate_state('focus #notebook', 'command', 0); |
|
52 | this.click_cell(0); | |
|
52 | this.click_cell_editor(0); | |
|
53 | 53 | this.validate_state('click cell 0', 'edit', 0); |
|
54 | 54 | this.focus_notebook(); |
|
55 | 55 | this.validate_state('focus #notebook', 'command', 0); |
|
56 | this.click_cell(3); | |
|
56 | this.click_cell_editor(3); | |
|
57 | 57 | this.validate_state('click cell 3', 'edit', 3); |
|
58 | 58 | |
|
59 | 59 | // shift+enter tests. |
@@ -62,7 +62,7 b' casper.notebook_test(function () {' | |||
|
62 | 62 | this.trigger_keydown('shift+enter'); // Creates one cell |
|
63 | 63 | this.validate_state('shift+enter (no cell below)', 'edit', base_index + 1); |
|
64 | 64 | // not last cell in notebook & starts in edit mode |
|
65 | this.click_cell(base_index); | |
|
65 | this.click_cell_editor(base_index); | |
|
66 | 66 | this.validate_state('click cell ' + base_index, 'edit', base_index); |
|
67 | 67 | this.trigger_keydown('shift+enter'); |
|
68 | 68 | this.validate_state('shift+enter (cell exists below)', 'command', base_index + 1); |
@@ -78,7 +78,7 b' casper.notebook_test(function () {' | |||
|
78 | 78 | this.trigger_keydown('ctrl+enter'); |
|
79 | 79 | this.validate_state('ctrl+enter (no cell below)', 'command', base_index); |
|
80 | 80 | // not last cell in notebook & starts in edit mode |
|
81 | this.click_cell(base_index-1); | |
|
81 | this.click_cell_editor(base_index-1); | |
|
82 | 82 | this.validate_state('click cell ' + (base_index-1), 'edit', base_index-1); |
|
83 | 83 | this.trigger_keydown('ctrl+enter'); |
|
84 | 84 | this.validate_state('ctrl+enter (cell exists below)', 'command', base_index-1); |
@@ -93,21 +93,19 b' casper.notebook_test(function () {' | |||
|
93 | 93 | this.trigger_keydown('alt+enter'); // Creates one cell |
|
94 | 94 | this.validate_state('alt+enter (no cell below)', 'edit', base_index + 1); |
|
95 | 95 | // not last cell in notebook & starts in edit mode |
|
96 | this.click_cell(base_index); | |
|
96 | this.click_cell_editor(base_index); | |
|
97 | 97 | this.validate_state('click cell ' + base_index, 'edit', base_index); |
|
98 | 98 | this.trigger_keydown('alt+enter'); // Creates one cell |
|
99 | 99 | this.validate_state('alt+enter (cell exists below)', 'edit', base_index + 1); |
|
100 | 100 | // starts in command mode |
|
101 | this.trigger_keydown('esc'); | |
|
102 | this.trigger_keydown('k'); | |
|
101 | this.trigger_keydown('esc', 'k'); | |
|
103 | 102 | this.validate_state('k in comand mode', 'command', base_index); |
|
104 | 103 | this.trigger_keydown('alt+enter'); // Creates one cell |
|
105 | 104 | this.validate_state('alt+enter (start in command mode)', 'edit', base_index + 1); |
|
106 | 105 | |
|
107 | 106 | // Notebook will now have 8 cells, the index of the last cell will be 7. |
|
108 | 107 | this.test.assertEquals(this.get_cells().length, 8, '*-enter commands added cells where needed.'); |
|
109 |
this. |
|
|
110 | this.trigger_keydown('esc'); | |
|
108 | this.select_cell(7); | |
|
111 | 109 | this.validate_state('click cell ' + 7 + ' and esc', 'command', 7); |
|
112 | 110 | |
|
113 | 111 | this.trigger_keydown('r'); |
@@ -130,8 +128,7 b' casper.notebook_test(function () {' | |||
|
130 | 128 | this.trigger_keydown('y'); |
|
131 | 129 | this.test.assertEquals(this.get_cell(7).cell_type, 'code', 'y; cell is code'); |
|
132 | 130 | |
|
133 | this.trigger_keydown('d'); | |
|
134 | this.trigger_keydown('d'); | |
|
131 | this.trigger_keydown('d', 'd'); | |
|
135 | 132 | this.test.assertEquals(this.get_cells().length, 7, 'dd actually deletes a cell'); |
|
136 | 133 | this.validate_state('dd', 'command', 6); |
|
137 | 134 | |
@@ -144,6 +141,63 b' casper.notebook_test(function () {' | |||
|
144 | 141 | |
|
145 | 142 | this.test.assertEquals(this.get_cells().length, 7, "d, 1 second wait, d doesn't delete a cell"); |
|
146 | 143 | this.validate_state('d, 1 second wait, d', 'command', 6); |
|
144 | this.trigger_keydown('j'); | |
|
145 | this.validate_state('j at end of notebook', 'command', 6); | |
|
146 | this.trigger_keydown('down'); | |
|
147 | this.validate_state('down at end of notebook', 'command', 6); | |
|
148 | this.trigger_keydown('up'); | |
|
149 | this.validate_state('up', 'command', 5); | |
|
150 | this.select_cell(0); | |
|
151 | this.validate_state('select 0', 'command', 0); | |
|
152 | this.trigger_keydown('k'); | |
|
153 | this.validate_state('k at top of notebook', 'command', 0); | |
|
154 | this.trigger_keydown('up'); | |
|
155 | this.validate_state('up at top of notebook', 'command', 0); | |
|
156 | this.trigger_keydown('down'); | |
|
157 | this.validate_state('down', 'command', 1); | |
|
158 | ||
|
159 | this.click_cell_editor(6); | |
|
160 | this.validate_state('click cell 6', 'edit', 6); | |
|
161 | this.trigger_keydown('down'); | |
|
162 | this.validate_state('down at end of notebook', 'edit', 6); | |
|
163 | this.trigger_keydown('up'); | |
|
164 | this.validate_state('up', 'edit', 5); | |
|
165 | this.click_cell_editor(0); | |
|
166 | this.validate_state('click 0', 'edit', 0); | |
|
167 | this.trigger_keydown('up'); | |
|
168 | this.validate_state('up at top of notebook', 'edit', 0); | |
|
169 | this.trigger_keydown('down'); | |
|
170 | this.validate_state('down', 'edit', 1); | |
|
171 | ||
|
172 | this.select_cell(6); | |
|
173 | this.validate_state('select 6', 'command', 6); | |
|
174 | this.trigger_keydown('m'); | |
|
175 | this.test.assertEquals(this.get_cell(6).cell_type, 'markdown', 'm; cell is markdown'); | |
|
176 | this.test.assertEquals(this.get_cell(6).rendered, true, 'm; cell is rendered'); | |
|
177 | this.trigger_keydown('enter'); | |
|
178 | this.test.assertEquals(this.get_cell(6).rendered, false, 'enter; cell is unrendered'); | |
|
179 | this.validate_state('enter', 'edit', 6); | |
|
180 | this.trigger_keydown('ctrl+enter'); | |
|
181 | this.test.assertEquals(this.get_cell(6).rendered, true, 'enter; cell is rendered'); | |
|
182 | this.validate_state('enter', 'command', 6); | |
|
183 | this.trigger_keydown('enter'); | |
|
184 | this.test.assertEquals(this.get_cell(6).rendered, false, 'enter; cell is unrendered'); | |
|
185 | this.select_cell(5); | |
|
186 | this.test.assertEquals(this.get_cell(6).rendered, false, 'select 5; cell 6 is still unrendered'); | |
|
187 | this.validate_state('select 5', 'command', 5); | |
|
188 | this.select_cell(6); | |
|
189 | this.validate_state('select 6', 'command', 5); | |
|
190 | this.trigger_keydown('ctrl+enter'); | |
|
191 | this.test.assertEquals(this.get_cell(6).rendered, true, 'enter; cell is rendered'); | |
|
192 | this.select_cell(5); | |
|
193 | this.validate_state('select 5', 'command', 5); | |
|
194 | this.trigger_keydown('shift+enter'); | |
|
195 | this.validate_state('shift+enter', 'command', 6); | |
|
196 | this.test.assertEquals(this.get_cell(6).rendered, true, 'enter; cell is rendered'); | |
|
197 | this.trigger_keydown('shift+enter'); // Creates one cell | |
|
198 | this.validate_state('shift+enter', 'edit', 7); | |
|
199 | this.test.assertEquals(this.get_cell(6).rendered, true, 'enter; cell is rendered'); | |
|
200 | ||
|
147 | 201 | |
|
148 | 202 | }); |
|
149 | 203 | |
@@ -210,8 +264,13 b' casper.notebook_test(function () {' | |||
|
210 | 264 | /* TODO: MOVE EVERYTHING BELOW THIS LINE INTO THE BASE (utils.js) */ |
|
211 | 265 | |
|
212 | 266 | |
|
267 | this.select_cell = function (index) { | |
|
268 | this.evaluate(function (i) { | |
|
269 | IPython.notebook.select(i); | |
|
270 | }, {i: index}); | |
|
271 | }; | |
|
213 | 272 | |
|
214 | this.click_cell = function(index) { | |
|
273 | this.click_cell_editor = function(index) { | |
|
215 | 274 | // Code Mirror does not play nicely with emulated brower events. |
|
216 | 275 | // Instead of trying to emulate a click, here we run code similar to |
|
217 | 276 | // the code used in Code Mirror that handles the mousedown event on a |
@@ -229,10 +288,12 b' casper.notebook_test(function () {' | |||
|
229 | 288 | }, {}); |
|
230 | 289 | }; |
|
231 | 290 | |
|
232 |
this.trigger_keydown = function( |
|
|
233 | this.evaluate(function (k) { | |
|
234 | IPython.keyboard.trigger_keydown(k); | |
|
235 | }, {k: key}); | |
|
291 | this.trigger_keydown = function() { | |
|
292 | for (var i = 0; i < arguments.length; i++) { | |
|
293 | this.evaluate(function (k) { | |
|
294 | IPython.keyboard.trigger_keydown(k); | |
|
295 | }, {k: arguments[i]}); | |
|
296 | } | |
|
236 | 297 | }; |
|
237 | 298 | |
|
238 | 299 | this.get_keyboard_mode = function() { |
General Comments 0
You need to be logged in to leave comments.
Login now