##// END OF EJS Templates
Better respect for abstraction barriers
Better respect for abstraction barriers

File last commit:

r17640:5d9d0dac
r18207:e27b7a97
Show More
kernel.js
64 lines | 1.9 KiB | application/javascript | JavascriptLexer
//
// Kernel tests
//
casper.notebook_test(function () {
this.evaluate(function () {
IPython.notebook.kernel.kernel_info(
function(msg){
IPython._kernel_info_response = msg;
})
});
this.waitFor(
function () {
return this.evaluate(function(){
return IPython._kernel_info_response;
});
});
this.then(function () {
var kernel_info_response = this.evaluate(function(){
return IPython._kernel_info_response;
});
this.test.assertTrue( kernel_info_response.msg_type === 'kernel_info_reply', 'Kernel info request return kernel_info_reply');
this.test.assertTrue( kernel_info_response.content !== undefined, 'Kernel_info_reply is not undefined');
});
this.thenEvaluate(function () {
var kernel = IPython.notebook.session.kernel;
IPython._channels = [
kernel.shell_channel,
kernel.iopub_channel,
kernel.stdin_channel
];
kernel.kill();
});
this.waitFor(function () {
return this.evaluate(function(){
for (var i=0; i < IPython._channels.length; i++) {
var ws = IPython._channels[i];
if (ws.readyState !== ws.CLOSED) {
return false;
}
}
return true;
});
});
this.then(function () {
var states = this.evaluate(function() {
var states = [];
for (var i = 0; i < IPython._channels.length; i++) {
states.push(IPython._channels[i].readyState);
}
return states;
});
for (var i = 0; i < states.length; i++) {
this.test.assertEquals(states[i], WebSocket.CLOSED,
"Kernel.kill closes websockets[" + i + "]");
}
});
});