github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/test/integration/test-fixtures/npm-lock/node_modules/pump/test-node.js (about)

     1  var pump = require('./index')
     2  
     3  var rs = require('fs').createReadStream('/dev/random')
     4  var ws = require('fs').createWriteStream('/dev/null')
     5  
     6  var 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 reverse
    15  }
    16  
    17  var wsClosed = false
    18  var rsClosed = false
    19  var callbackCalled = false
    20  
    21  var check = function () {
    22    if (wsClosed && rsClosed && callbackCalled) {
    23      console.log('test-node.js passes')
    24      clearTimeout(timeout)
    25    }
    26  }
    27  
    28  ws.on('close', function () {
    29    wsClosed = true
    30    check()
    31  })
    32  
    33  rs.on('close', function () {
    34    rsClosed = true
    35    check()
    36  })
    37  
    38  var res = pump(rs, toHex(), toHex(), toHex(), ws, function () {
    39    callbackCalled = true
    40    check()
    41  })
    42  
    43  if (res !== ws) {
    44    throw new Error('should return last stream')
    45  }
    46  
    47  setTimeout(function () {
    48    rs.destroy()
    49  }, 1000)
    50  
    51  var timeout = setTimeout(function () {
    52    throw new Error('timeout')
    53  }, 5000)