summaryrefslogtreecommitdiff
path: root/test/parallel/test-readable-large-hwm.js
blob: d5bf25bc0e61c13b8f5fd742444ed2778c9cd00e (plain)
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
'use strict';
const common = require('../common');
const { Readable } = require('stream');

// Make sure that readable completes
// even when reading larger buffer.
const bufferSize = 10 * 1024 * 1024;
let n = 0;
const r = new Readable({
  read() {
    // Try to fill readable buffer piece by piece.
    r.push(Buffer.alloc(bufferSize / 10));

    if (n++ > 10) {
      r.push(null);
    }
  }
});

r.on('readable', () => {
  while (true) {
    const ret = r.read(bufferSize);
    if (ret === null)
      break;
  }
});
r.on('end', common.mustCall());