doc,test: args to buffer.copy
can be Uint8Arrays
This was semi-overlooked in https://github.com/nodejs/node/pull/10236 because it always worked and didn’t need additional changes. Ref: https://github.com/nodejs/node/pull/10236 PR-URL: https://github.com/nodejs/node/pull/11486 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
parent
c7205ba941
commit
cba1020531
@ -977,7 +977,7 @@ A `RangeError` will be thrown if: `targetStart < 0`, `sourceStart < 0`,
|
|||||||
added: v0.1.90
|
added: v0.1.90
|
||||||
-->
|
-->
|
||||||
|
|
||||||
* `target` {Buffer} A `Buffer` to copy into.
|
* `target` {Buffer|Uint8Array} A `Buffer` or [`Uint8Array`] to copy into.
|
||||||
* `targetStart` {Integer} The offset within `target` at which to begin
|
* `targetStart` {Integer} The offset within `target` at which to begin
|
||||||
copying to. **Default:** `0`
|
copying to. **Default:** `0`
|
||||||
* `sourceStart` {Integer} The offset within `buf` at which to begin copying from.
|
* `sourceStart` {Integer} The offset within `buf` at which to begin copying from.
|
||||||
|
@ -118,3 +118,29 @@ assert.strictEqual(b.copy(c, 0, 100, 10), 0);
|
|||||||
|
|
||||||
// when targetStart > targetLength, zero copied
|
// when targetStart > targetLength, zero copied
|
||||||
assert.strictEqual(b.copy(c, 512, 0, 10), 0);
|
assert.strictEqual(b.copy(c, 512, 0, 10), 0);
|
||||||
|
|
||||||
|
// Test that the `target` can be a Uint8Array.
|
||||||
|
{
|
||||||
|
const d = new Uint8Array(c);
|
||||||
|
// copy 512 bytes, from 0 to 512.
|
||||||
|
b.fill(++cntr);
|
||||||
|
d.fill(++cntr);
|
||||||
|
const copied = b.copy(d, 0, 0, 512);
|
||||||
|
assert.strictEqual(512, copied);
|
||||||
|
for (let i = 0; i < d.length; i++) {
|
||||||
|
assert.strictEqual(b[i], d[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Test that the source can be a Uint8Array, too.
|
||||||
|
{
|
||||||
|
const e = new Uint8Array(b);
|
||||||
|
// copy 512 bytes, from 0 to 512.
|
||||||
|
e.fill(++cntr);
|
||||||
|
c.fill(++cntr);
|
||||||
|
const copied = Buffer.prototype.copy.call(e, c, 0, 0, 512);
|
||||||
|
assert.strictEqual(512, copied);
|
||||||
|
for (let i = 0; i < c.length; i++) {
|
||||||
|
assert.strictEqual(e[i], c[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user