mirror of
https://github.com/denoland/deno.git
synced 2024-12-25 16:49:18 -05:00
40 lines
1 KiB
JavaScript
40 lines
1 KiB
JavaScript
|
// deno-fmt-ignore-file
|
||
|
// deno-lint-ignore-file
|
||
|
|
||
|
// Copyright Joyent and Node contributors. All rights reserved. MIT license.
|
||
|
// Taken from Node 18.12.1
|
||
|
// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually
|
||
|
|
||
|
'use strict';
|
||
|
// Flags: --zero-fill-buffers
|
||
|
|
||
|
// when using --zero-fill-buffers, every Buffer and SlowBuffer
|
||
|
// instance must be zero filled upon creation
|
||
|
|
||
|
require('../common');
|
||
|
const SlowBuffer = require('buffer').SlowBuffer;
|
||
|
const assert = require('assert');
|
||
|
|
||
|
function isZeroFilled(buf) {
|
||
|
for (const n of buf)
|
||
|
if (n > 0) return false;
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
// This can be somewhat unreliable because the
|
||
|
// allocated memory might just already happen to
|
||
|
// contain all zeroes. The test is run multiple
|
||
|
// times to improve the reliability.
|
||
|
for (let i = 0; i < 50; i++) {
|
||
|
const bufs = [
|
||
|
Buffer.alloc(20),
|
||
|
Buffer.allocUnsafe(20),
|
||
|
SlowBuffer(20),
|
||
|
Buffer(20),
|
||
|
new SlowBuffer(20),
|
||
|
];
|
||
|
for (const buf of bufs) {
|
||
|
assert(isZeroFilled(buf));
|
||
|
}
|
||
|
}
|