basant307/AI_Governance_Project
048
1var pump = require('./index')2 3var rs = require('fs').createReadStream('/dev/random')4var ws = require('fs').createWriteStream('/dev/null')5 6var toHex = function () {7 var reverse = new (require('stream').Transform)()8 9 reverse._transform = function (chunk, enc, callback) {10 reverse.push(chunk.toString('hex'))11 callback()12 }13 14 return reverse15}16 17var wsClosed = false18var rsClosed = false19var callbackCalled = false20 21var check = function () {22 if (wsClosed && rsClosed && callbackCalled) {23 console.log('test-node.js passes')24 clearTimeout(timeout)25 }26}27 28ws.on('close', function () {29 wsClosed = true30 check()31})32 33rs.on('close', function () {34 rsClosed = true35 check()36})37 38var res = pump(rs, toHex(), toHex(), toHex(), ws, function () {39 callbackCalled = true40 check()41})42 43if (res !== ws) {44 throw new Error('should return last stream')45}46 47setTimeout(function () {48 rs.destroy()49}, 1000)50 51var timeout = setTimeout(function () {52 throw new Error('timeout')53}, 5000)54 