UNPKG

881 BJavaScriptView Raw
1var assert = require('assert');
2var pump = require('./index');
3
4var rs = require('fs').createReadStream('/dev/random');
5var ws = require('fs').createWriteStream('/dev/null');
6
7var toHex = function() {
8 var reverse = new (require('stream').Transform)();
9
10 reverse._transform = function(chunk, enc, callback) {
11 reverse.push(chunk.toString('hex'));
12 callback();
13 };
14
15 return reverse;
16};
17
18var wsClosed = false;
19var rsClosed = false;
20var callbackCalled = false;
21
22var check = function() {
23 if (wsClosed && rsClosed && callbackCalled) process.exit(0);
24};
25
26ws.on('close', function() {
27 wsClosed = true;
28 check();
29});
30
31rs.on('close', function() {
32 rsClosed = true;
33 check();
34});
35
36pump(rs, toHex(), toHex(), toHex(), ws, function(err) {
37 callbackCalled = true;
38 check();
39});
40
41setTimeout(function() {
42 rs.destroy();
43}, 1000);
44
45setTimeout(function() {
46 throw new Error('timeout');
47}, 5000);
\No newline at end of file