Blame view

node_modules/pump/test-node.js 956 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
  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)