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)
|
||
|
}
|
||
|
})
|