node/test/parallel/test-buffer-resizable.js
James M Snell 231d5e4437
buffer: make Buffer work with resizable ArrayBuffer
Fixes: https://github.com/nodejs/node/issues/52195
PR-URL: https://github.com/nodejs/node/pull/55377
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2024-10-15 17:22:15 +00:00

30 lines
878 B
JavaScript

// Flags: --no-warnings
'use strict';
require('../common');
const { Buffer } = require('node:buffer');
const { strictEqual } = require('node:assert');
const { describe, it } = require('node:test');
describe('Using resizable ArrayBuffer with Buffer...', () => {
it('works as expected', () => {
const ab = new ArrayBuffer(10, { maxByteLength: 20 });
const buffer = Buffer.from(ab, 1);
strictEqual(buffer.byteLength, 9);
ab.resize(15);
strictEqual(buffer.byteLength, 14);
ab.resize(5);
strictEqual(buffer.byteLength, 4);
});
it('works with the deprecated constructor also', () => {
const ab = new ArrayBuffer(10, { maxByteLength: 20 });
const buffer = new Buffer(ab, 1);
strictEqual(buffer.byteLength, 9);
ab.resize(15);
strictEqual(buffer.byteLength, 14);
ab.resize(5);
strictEqual(buffer.byteLength, 4);
});
});