Merge pull request #4565 from minrk/format_check
various display type validations to protect notebooks from invalid display data, and add informative errors for invalid data.pull/37/head
commit
9db5a0d1e4
@ -0,0 +1,32 @@
|
||||
//
|
||||
// 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" +
|
||||
"dp.publish('test', {'text/plain' : '5', 'image/png' : 5})"
|
||||
);
|
||||
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");
|
||||
this.test.assertEquals(messages[messages.length-1], "Invalid type for image/png 5", "Logged Invalid type message");
|
||||
this.test.assertEquals(output['image/png'], undefined, "Non-string png data was stripped");
|
||||
this.test.assertEquals(output['text/plain'], '5', "text data is fine");
|
||||
});
|
||||
});
|
||||
Loading…
Reference in new issue