// // 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({'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].substr(0,26), "Invalid type for image/png", "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"); }); });