##// END OF EJS Templates
Check for Python errors in js tests...
MinRK -
Show More
@@ -204,9 +204,11 b' casper.append_cell = function(text, cell_type) {'
204 return index;
204 return index;
205 };
205 };
206
206
207 casper.execute_cell = function(index){
207 casper.execute_cell = function(index, expect_failure){
208 // Asynchronously executes a cell by index.
208 // Asynchronously executes a cell by index.
209 // Returns the cell's index.
209 // Returns the cell's index.
210
211 if (expect_failure === undefined) expect_failure = false;
210 var that = this;
212 var that = this;
211 this.then(function(){
213 this.then(function(){
212 that.evaluate(function (index) {
214 that.evaluate(function (index) {
@@ -214,15 +216,37 b' casper.execute_cell = function(index){'
214 cell.execute();
216 cell.execute();
215 }, index);
217 }, index);
216 });
218 });
219 this.wait_for_idle();
220
221 this.then(function () {
222 var error = that.evaluate(function (index) {
223 var cell = IPython.notebook.get_cell(index);
224 var outputs = cell.output_area.outputs;
225 for (var i = 0; i < outputs.length; i++) {
226 if (outputs[i].output_type == 'error') {
227 return outputs[i];
228 }
229 }
230 return false;
231 }, index);
232 if (error === null) {
233 this.test.fail("Failed to check for error output");
234 }
235 if (expect_failure && error === false) {
236 this.test.fail("Expected error while running cell");
237 } else if (!expect_failure && error !== false) {
238 this.test.fail("Error running cell:\n" + error.traceback.join('\n'));
239 }
240 });
217 return index;
241 return index;
218 };
242 };
219
243
220 casper.execute_cell_then = function(index, then_callback) {
244 casper.execute_cell_then = function(index, then_callback, expect_failure) {
221 // Synchronously executes a cell by index.
245 // Synchronously executes a cell by index.
222 // Optionally accepts a then_callback parameter. then_callback will get called
246 // Optionally accepts a then_callback parameter. then_callback will get called
223 // when the cell has finished executing.
247 // when the cell has finished executing.
224 // Returns the cell's index.
248 // Returns the cell's index.
225 var return_val = this.execute_cell(index);
249 var return_val = this.execute_cell(index, expect_failure);
226
250
227 this.wait_for_idle();
251 this.wait_for_idle();
228
252
General Comments 0
You need to be logged in to leave comments. Login now