| Server IP : 185.208.173.17 / Your IP : 87.236.161.98 Web Server : Microsoft-IIS/10.0 System : Windows NT SRV8576125506 10.0 build 26100 (Windows Server 2016) AMD64 User : IUSR ( 0) PHP Version : 7.4.13 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Program Files/nodejs/node_modules/npm/node_modules/stream-iterate/ |
Upload File : |
var tape = require('tape')
var from = require('from2')
var iterate = require('./')
tape('merge sort', function (t) {
var a = from.obj(['a', 'b', 'd', 'e', 'g', 'h'])
var b = from.obj(['b', 'c', 'f'])
var output = []
var readA = iterate(a)
var readB = iterate(b)
var loop = function () {
readA(function (err, dataA, nextA) {
if (err) throw err
readB(function (err, dataB, nextB) {
if (err) throw err
if (!dataA && !dataB) {
t.same(output, ['a', 'b', 'b', 'c', 'd', 'e', 'f', 'g', 'h'], 'sorts list')
t.end()
return
}
if (!dataB || dataA < dataB) {
output.push(dataA)
nextA()
return loop()
}
if (!dataA || dataA > dataB) {
output.push(dataB)
nextB()
return loop()
}
output.push(dataA)
output.push(dataB)
nextA()
nextB()
loop()
})
})
}
loop()
})
tape('error handling', function (t) {
var a = from.obj(['a', 'b', 'd', 'e', 'g', 'h'])
var read = iterate(a)
a.destroy(new Error('oh no'))
read(function (err) {
t.ok(err, 'had error')
t.same(err.message, 'oh no')
t.end()
})
})