11cb0ef41Sopenharmony_ci'use strict';
21cb0ef41Sopenharmony_cirequire('../common');
31cb0ef41Sopenharmony_ci
41cb0ef41Sopenharmony_ciconst assert = require('assert');
51cb0ef41Sopenharmony_ci
61cb0ef41Sopenharmony_ciconst buffer = require('buffer');
71cb0ef41Sopenharmony_ciconst SlowBuffer = buffer.SlowBuffer;
81cb0ef41Sopenharmony_ci
91cb0ef41Sopenharmony_ciconst kMaxLength = buffer.kMaxLength;
101cb0ef41Sopenharmony_ciconst bufferMaxSizeMsg = {
111cb0ef41Sopenharmony_ci  code: 'ERR_INVALID_ARG_VALUE',
121cb0ef41Sopenharmony_ci  name: 'RangeError',
131cb0ef41Sopenharmony_ci  message: /^The argument 'size' is invalid\. Received [^"]*$/
141cb0ef41Sopenharmony_ci};
151cb0ef41Sopenharmony_ci
161cb0ef41Sopenharmony_ciassert.throws(() => Buffer((-1 >>> 0) + 2), bufferMaxSizeMsg);
171cb0ef41Sopenharmony_ciassert.throws(() => SlowBuffer((-1 >>> 0) + 2), bufferMaxSizeMsg);
181cb0ef41Sopenharmony_ciassert.throws(() => Buffer.alloc((-1 >>> 0) + 2), bufferMaxSizeMsg);
191cb0ef41Sopenharmony_ciassert.throws(() => Buffer.allocUnsafe((-1 >>> 0) + 2), bufferMaxSizeMsg);
201cb0ef41Sopenharmony_ciassert.throws(() => Buffer.allocUnsafeSlow((-1 >>> 0) + 2), bufferMaxSizeMsg);
211cb0ef41Sopenharmony_ci
221cb0ef41Sopenharmony_ciassert.throws(() => Buffer(kMaxLength + 1), bufferMaxSizeMsg);
231cb0ef41Sopenharmony_ciassert.throws(() => SlowBuffer(kMaxLength + 1), bufferMaxSizeMsg);
241cb0ef41Sopenharmony_ciassert.throws(() => Buffer.alloc(kMaxLength + 1), bufferMaxSizeMsg);
251cb0ef41Sopenharmony_ciassert.throws(() => Buffer.allocUnsafe(kMaxLength + 1), bufferMaxSizeMsg);
261cb0ef41Sopenharmony_ciassert.throws(() => Buffer.allocUnsafeSlow(kMaxLength + 1), bufferMaxSizeMsg);
271cb0ef41Sopenharmony_ci
281cb0ef41Sopenharmony_ci// issue GH-4331
291cb0ef41Sopenharmony_ciassert.throws(() => Buffer.allocUnsafe(0x100000001), bufferMaxSizeMsg);
301cb0ef41Sopenharmony_ciassert.throws(() => Buffer.allocUnsafe(0xFFFFFFFFF), bufferMaxSizeMsg);
31