communicate: function (input, output, errput) { if (typeof stdin == "string") stdin = new io.StringIO(input); else if (!stdin) stdin = new io.StringIO(); if (typeof input == "string") input = new io.StringIO(input); else if (!input) input = new io.StringIO(); if (!output) output = new io.StringIO(); if (!errput) errput = new io.StringIO(); var inThread = new JavaAdapter(Packages.java.lang.Thread, { "run": function () { input.copy(stdin); stdin.close(); } }); var outThread = new JavaAdapter(Packages.java.lang.Thread, { "run": function () { stdout.copy(output); stdout.close(); } }); var errThread = new JavaAdapter(Packages.java.lang.Thread, { "run": function () { stderr.copy(errput); stderr.close(); } }); inThread.setDaemon(true); inThread.start(); errThread.setDaemon(true); errThread.start(); outThread.setDaemon(true); outThread.start(); inThread.join(); outThread.join(); errThread.join(); var status = process.waitFor(); stdin.close(); stdout.close(); stderr.close(); return { status: status, stdin: input, stdout: output, stderr: errput }; }
exports.testStringIODelimiterForEach = function () { var stringio = new io.StringIO("a\0b\0", "\0"); var acc = []; stringio.forEach(function (line) { acc.push(line); }); assert.eq(["a", "b"], acc); };
"run": function () { input.copy(stdin); stdin.close(); }
exports.testStringIODelimiter = function () { var stringio = new io.StringIO("a\0b\0", "\0"); assert.eq(["a\0", "b\0"], stringio.readLines()); };