/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v20.20.2
test/pummel/test-string-decoder-large-buffer.js
29 строк
773 B
zhenweijin
string_decoder: throw an error when writing a too long buffer
17 июн 2024, 14:32
Не верифицирован
17 июн 2024, 14:32
a5f3dd1
Код
Авторство
О чём код?
'use strict'; const common = require('../common'); // Buffer with size > INT32_MAX common.skipIf32Bits(); const assert = require('assert'); const { StringDecoder } = require('node:string_decoder'); const kStringMaxLength = require('buffer').constants.MAX_STRING_LENGTH; const size = 2 ** 31; const stringTooLongError = { message: `Cannot create a string longer than 0x${kStringMaxLength.toString(16)}` + ' characters', code: 'ERR_STRING_TOO_LONG', name: 'Error', }; try { const buf = Buffer.allocUnsafe(size); const decoder = new StringDecoder('utf8'); assert.throws(() => decoder.write(buf), stringTooLongError); } catch (e) { if (e.code !== 'ERR_MEMORY_ALLOCATION_FAILED') { throw e; } common.skip('insufficient space for Buffer.alloc'); }