84 lines
1.5 KiB
JavaScript
84 lines
1.5 KiB
JavaScript
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)
|
|
}
|
|
})
|