mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 07:14:47 -05:00
35 lines
821 B
JavaScript
35 lines
821 B
JavaScript
|
// deno-fmt-ignore-file
|
||
|
// deno-lint-ignore-file
|
||
|
|
||
|
// Copyright Joyent and Node contributors. All rights reserved. MIT license.
|
||
|
// Taken from Node 20.11.1
|
||
|
// This file is automatically generated by `tests/node_compat/runner/setup.ts`. Do not modify this file manually.
|
||
|
|
||
|
'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());
|