// // Test shutdown of a kernel. // casper.notebook_test(function () { // XXX: test.begin allows named sections but requires casperjs 1.1.0-DEV. // We will put it back into place when the next version of casper is // released. Following that, all instances of this.test can be changed // to just test. //this.test.begin("shutdown tests (notebook)", 2, function(test) { // Our shutdown test closes the browser window, which will delete the // casper browser object, and the rest of the test suite will fail with // errors that look like: // // "Error: cannot access member `evaluate' of deleted QObject" // // So what we do here is make a quick popup window, and run the test inside // of it. this.then(function() { this.evaluate(function(url){ window.open(url); }, {url : this.getCurrentUrl()}); }) this.waitForPopup(''); this.withPopup('', function () { this.thenEvaluate(function () { $('#kill_and_exit').click(); }); this.thenEvaluate(function () { var cell = IPython.notebook.get_cell(0); cell.set_text('a=10; print(a)'); cell.execute(); }); this.then(function () { var outputs = this.evaluate(function() { return IPython.notebook.get_cell(0).output_area.outputs; }) this.test.assertEquals(outputs.length, 0, "after shutdown: no execution results"); this.test.assertNot(this.kernel_running(), 'after shutdown: IPython.notebook.kernel.running is false '); }); }); //}); // end of test.begin });