node/test/parallel/test-stream2-read-sync-stack.js
James M Snell 85ab4a5f12 buffer: add .from(), .alloc() and .allocUnsafe()
Several changes:

* Soft-Deprecate Buffer() constructors
* Add `Buffer.from()`, `Buffer.alloc()`, and `Buffer.allocUnsafe()`
* Add `--zero-fill-buffers` command line option
* Add byteOffset and length to `new Buffer(arrayBuffer)` constructor
* buffer.fill('') previously had no effect, now zero-fills
* Update the docs

PR-URL: https://github.com/nodejs/node/pull/4682
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
2016-03-16 08:34:02 -07:00

35 lines
731 B
JavaScript

'use strict';
require('../common');
var assert = require('assert');
var Readable = require('stream').Readable;
var r = new Readable();
var N = 256 * 1024;
// Go ahead and allow the pathological case for this test.
// Yes, it's an infinite loop, that's the point.
process.maxTickDepth = N + 2;
var reads = 0;
r._read = function(n) {
var chunk = reads++ === N ? null : Buffer.allocUnsafe(1);
r.push(chunk);
};
r.on('readable', function onReadable() {
if (!(r._readableState.length % 256))
console.error('readable', r._readableState.length);
r.read(N * 2);
});
var ended = false;
r.on('end', function onEnd() {
ended = true;
});
r.read(0);
process.on('exit', function() {
assert(ended);
console.log('ok');
});