##// END OF EJS Templates
make @interactive decorator friendlier with dill...
make @interactive decorator friendlier with dill sets the decorated function globals to main, in addition to just the module name. This helps dill treat it as if it were defined locally, and the function actually behaves the same locally as it does on engines.

File last commit:

r13463:5dd21108
r13877:b54a5f26
Show More
check_interrupt.js
49 lines | 1.3 KiB | application/javascript | JavascriptLexer
//
// Test kernel interrupt
//
casper.notebook_test(function () {
this.evaluate(function () {
var cell = IPython.notebook.get_cell(0);
cell.set_text(
'import time'+
'\nfor x in range(3):'+
'\n time.sleep(1)'
);
cell.execute();
});
this.waitFor(function(){
return this.evaluate(function() {
return $("#notification_kernel")[0].textContent.indexOf('busy') !== -1;
});
});
// interrupt using menu item (Kernel -> Interrupt)
this.thenClick('li#int_kernel');
this.wait_for_output(0);
this.then(function () {
var result = this.get_output_cell(0);
this.test.assertEquals(result.ename, 'KeyboardInterrupt', 'keyboard interrupt (mouseclick)');
});
// run cell 0 again, now interrupting using keyboard shortcut
this.thenEvaluate(function () {
cell.clear_output();
cell.execute();
});
// interrupt using Ctrl-M I keyboard shortcut
this.thenEvaluate( function() {
IPython.utils.press_ghetto(IPython.utils.keycodes.I)
});
this.wait_for_output(0);
this.then(function () {
var result = this.get_output_cell(0);
this.test.assertEquals(result.ename, 'KeyboardInterrupt', 'keyboard interrupt (shortcut)');
});
});