• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2require('../common');
3
4// This test ensures that Node.js throws a RangeError when trying to convert a
5// gigantic buffer into a string.
6// Regression test for https://github.com/nodejs/node/issues/649.
7
8const assert = require('assert');
9const SlowBuffer = require('buffer').SlowBuffer;
10
11const len = 1422561062959;
12const message = {
13  code: 'ERR_INVALID_OPT_VALUE',
14  name: 'RangeError',
15  message: /^The value "[^"]*" is invalid for option "size"$/
16};
17assert.throws(() => Buffer(len).toString('utf8'), message);
18assert.throws(() => SlowBuffer(len).toString('utf8'), message);
19assert.throws(() => Buffer.alloc(len).toString('utf8'), message);
20assert.throws(() => Buffer.allocUnsafe(len).toString('utf8'), message);
21assert.throws(() => Buffer.allocUnsafeSlow(len).toString('utf8'), message);
22