text: var pump = require('./index')
  
  var rs = require('fs').createReadStream('/dev/random')
  var ws = require('fs').createWriteStream('/dev/null')
  
  var toHex = function () {
    var reverse = new (require('stream').Transform)()
  
    reverse._transform = function (chunk, enc, callback) {
      reverse.push(chunk.toString('hex'))
      callback()
    }
  
    return reverse
  }
  
  var wsClosed = false
  var rsClosed = false
  var callbackCalled = false
  
  var check = function () {
    if (wsClosed && rsClosed && callbackCalled) {
      console.log('test-node.js passes')
      clearTimeout(timeout)
    }
  }
  
  ws.on('close', function () {
    wsClosed = true
    check()
  })
  
  rs.on('close', function () {
    rsClosed = true
    check()
  })
  
  var res = pump(rs, toHex(), toHex(), toHex(), ws, function () {
    callbackCalled = true
    check()
  })
  
  if (res) {
    process.exit(1)
  }
  
  setTimeout(function () {
    rs.destroy()
  }, 1000)
  
  var timeout = setTimeout(function () {
    throw new Error('timeout')
  }, 5000)
  