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.
52 lines
917 B
52 lines
917 B
var pull = require('pull-stream') |
|
var through = require('through') |
|
var toPull = require('../') |
|
|
|
var tape = require('tape') |
|
|
|
tape('propagate close back to source', function (t) { |
|
|
|
// t.plan(4) |
|
|
|
var ended = false |
|
var input = [1,2,3] |
|
var ts = through(function (data) { |
|
t.equal(data, input.shift()) |
|
}, function () { |
|
ended = true |
|
this.queue(null) |
|
}) |
|
|
|
pull( |
|
pull.values([1,2,3]), |
|
toPull.sink(ts, function (err) { |
|
t.notOk(err) |
|
t.ok(ended) |
|
t.end() |
|
}) |
|
) |
|
}) |
|
|
|
|
|
tape('error', function (t) { |
|
|
|
|
|
var ts = through() |
|
var err = new Error('wtf') |
|
pull( |
|
pull.values([1,2,3]), |
|
function (read) { |
|
return function (abort, cb) { |
|
read(abort, function (end, data) { |
|
if(data === 3) cb(err) |
|
else cb(end, data) |
|
}) |
|
} |
|
}, |
|
toPull.sink(ts, function (_err) { |
|
t.equal(_err, err) |
|
t.end() |
|
}) |
|
) |
|
|
|
})
|
|
|