You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
1.5 KiB
83 lines
1.5 KiB
var ConsoleStream = require("../index") |
|
var console = require("console") |
|
var test = require("tape") |
|
|
|
test("console stream", function (assert) { |
|
var stream = ConsoleStream() |
|
|
|
assert.ok(stream.write) |
|
assert.ok(stream.end) |
|
assert.ok(stream.destroy) |
|
|
|
assert.end() |
|
}) |
|
|
|
test("console stream destroy", function (assert) { |
|
var stream = ConsoleStream() |
|
|
|
stream.once("close", function () { |
|
assert.ok(true) |
|
assert.end() |
|
}) |
|
|
|
stream.destroy() |
|
}) |
|
|
|
test("console stream end", function (assert) { |
|
var old = console.log |
|
console.log = intercept |
|
|
|
var closed = false |
|
var stream = ConsoleStream() |
|
var list = [] |
|
|
|
stream.once("close", function () { |
|
closed = true |
|
|
|
console.log = old |
|
|
|
assert.deepEqual(list, ["foo"]) |
|
assert.equal(closed, true) |
|
|
|
assert.end() |
|
}) |
|
|
|
stream.end("foo") |
|
|
|
function intercept(chunk) { |
|
list.push(chunk) |
|
|
|
// old.apply(this, arguments) |
|
} |
|
}) |
|
|
|
test("console stream write", function (assert) { |
|
var old = console.log |
|
console.log = intercept |
|
|
|
var list = [] |
|
var stream = ConsoleStream() |
|
|
|
stream.write("one") |
|
stream.write("two") |
|
stream.write("three") |
|
stream.write("four\n") |
|
stream.write("five\na") |
|
stream.write("bar") |
|
stream.end() |
|
|
|
console.log = old |
|
|
|
assert.deepEqual(list, [ |
|
"onetwothreefour" |
|
, "five" |
|
, "abar" |
|
]) |
|
assert.end() |
|
|
|
function intercept(chunk) { |
|
list.push(chunk) |
|
|
|
// old.apply(this, arguments) |
|
} |
|
})
|
|
|