##// END OF EJS Templates
Code for the less magic was unnecessarily reading the entire input file twice. Redundant read removed.
Code for the less magic was unnecessarily reading the entire input file twice. Redundant read removed.

File last commit:

r18584:3954d295
r19624:8d378a70
Show More
output.js
98 lines | 2.8 KiB | application/javascript | JavascriptLexer
MinRK
test coalesced output in js
r17307 //
// Various output tests
//
casper.notebook_test(function () {
this.test_coalesced_output = function (msg, code, expected) {
this.then(function () {
this.echo("Test coalesced output: " + msg);
});
this.thenEvaluate(function (code) {
IPython.notebook.insert_cell_at_index(0, "code");
var cell = IPython.notebook.get_cell(0);
cell.set_text(code);
cell.execute();
}, {code: code});
this.wait_for_output(0);
this.then(function () {
var results = this.evaluate(function () {
var cell = IPython.notebook.get_cell(0);
return cell.output_area.outputs;
});
this.test.assertEquals(results.length, expected.length, "correct number of outputs");
for (var i = 0; i < results.length; i++) {
var r = results[i];
var ex = expected[i];
this.test.assertEquals(r.output_type, ex.output_type, "output " + i);
if (r.output_type === 'stream') {
MinRK
update html/js to nbformat 4
r18584 this.test.assertEquals(r.name, ex.name, "stream " + i);
MinRK
test coalesced output in js
r17307 this.test.assertEquals(r.text, ex.text, "content " + i);
}
}
});
};
this.thenEvaluate(function () {
IPython.notebook.insert_cell_at_index(0, "code");
var cell = IPython.notebook.get_cell(0);
cell.set_text([
"from __future__ import print_function",
"import sys",
"from IPython.display import display"
].join("\n")
);
cell.execute();
});
this.test_coalesced_output("stdout", [
"print(1)",
"sys.stdout.flush()",
"print(2)",
"sys.stdout.flush()",
"print(3)"
].join("\n"), [{
output_type: "stream",
MinRK
update html/js to nbformat 4
r18584 name: "stdout",
MinRK
test coalesced output in js
r17307 text: "1\n2\n3\n"
}]
);
this.test_coalesced_output("stdout+sdterr", [
"print(1)",
"sys.stdout.flush()",
"print(2)",
"print(3, file=sys.stderr)"
].join("\n"), [{
output_type: "stream",
MinRK
update html/js to nbformat 4
r18584 name: "stdout",
MinRK
test coalesced output in js
r17307 text: "1\n2\n"
},{
output_type: "stream",
MinRK
update html/js to nbformat 4
r18584 name: "stderr",
MinRK
test coalesced output in js
r17307 text: "3\n"
}]
);
this.test_coalesced_output("display splits streams", [
"print(1)",
"sys.stdout.flush()",
"display(2)",
"print(3)"
].join("\n"), [{
output_type: "stream",
MinRK
update html/js to nbformat 4
r18584 name: "stdout",
MinRK
test coalesced output in js
r17307 text: "1\n"
},{
output_type: "display_data",
},{
output_type: "stream",
MinRK
update html/js to nbformat 4
r18584 name: "stdout",
MinRK
test coalesced output in js
r17307 text: "3\n"
}]
);
});