safe_append_output.js
32 lines
| 1.1 KiB
| application/javascript
|
JavascriptLexer
MinRK
|
r14160 | // | ||
// Test validation in append_output | ||||
// | ||||
// Invalid output data is stripped and logged. | ||||
// | ||||
casper.notebook_test(function () { | ||||
// this.printLog(); | ||||
var messages = []; | ||||
this.on('remote.message', function (msg) { | ||||
messages.push(msg); | ||||
}); | ||||
this.evaluate(function () { | ||||
var cell = IPython.notebook.get_cell(0); | ||||
cell.set_text( "dp = get_ipython().display_pub\n" + | ||||
MinRK
|
r16590 | "dp.publish({'text/plain' : '5', 'image/png' : 5})" | ||
MinRK
|
r14160 | ); | ||
cell.execute(); | ||||
}); | ||||
this.wait_for_output(0); | ||||
this.on('remote.message', function () {}); | ||||
this.then(function () { | ||||
var output = this.get_output_cell(0); | ||||
this.test.assert(messages.length > 0, "Captured log message"); | ||||
Jonathan Frederic
|
r16831 | this.test.assertEquals(messages[messages.length-1].substr(0,26), "Invalid type for image/png", "Logged Invalid type message"); | ||
MinRK
|
r18592 | this.test.assertEquals(output.data['image/png'], undefined, "Non-string png data was stripped"); | ||
this.test.assertEquals(output.data['text/plain'], '5', "text data is fine"); | ||||
MinRK
|
r14160 | }); | ||
}); | ||||