buffer, test: add tests for buffer.toJSON
* Pull out the tests for buffer.toJSON from test-buffer-alloc * Add tests for serializing a 0-length buffer PR-URL: https://github.com/nodejs/node/pull/10979 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
56f4f09aa8
commit
f3dc6a37f0
@ -769,30 +769,6 @@ assert.strictEqual(Buffer.from('13.37').length, 5);
|
|||||||
// issue GH-3416
|
// issue GH-3416
|
||||||
Buffer.from(Buffer.allocUnsafe(0), 0, 0);
|
Buffer.from(Buffer.allocUnsafe(0), 0, 0);
|
||||||
|
|
||||||
// GH-5110
|
|
||||||
{
|
|
||||||
const buffer = Buffer.from('test');
|
|
||||||
const string = JSON.stringify(buffer);
|
|
||||||
|
|
||||||
assert.strictEqual(string, '{"type":"Buffer","data":[116,101,115,116]}');
|
|
||||||
|
|
||||||
assert.deepStrictEqual(buffer, JSON.parse(string, (key, value) => {
|
|
||||||
return value && value.type === 'Buffer' ?
|
|
||||||
Buffer.from(value.data) :
|
|
||||||
value;
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
|
|
||||||
// issue GH-7849
|
|
||||||
{
|
|
||||||
const buf = Buffer.from('test');
|
|
||||||
const json = JSON.stringify(buf);
|
|
||||||
const obj = JSON.parse(json);
|
|
||||||
const copy = Buffer.from(obj);
|
|
||||||
|
|
||||||
assert(buf.equals(copy));
|
|
||||||
}
|
|
||||||
|
|
||||||
// issue GH-5587
|
// issue GH-5587
|
||||||
assert.throws(() => Buffer.alloc(8).writeFloatLE(0, 5), RangeError);
|
assert.throws(() => Buffer.alloc(8).writeFloatLE(0, 5), RangeError);
|
||||||
assert.throws(() => Buffer.alloc(16).writeDoubleLE(0, 9), RangeError);
|
assert.throws(() => Buffer.alloc(16).writeDoubleLE(0, 9), RangeError);
|
||||||
|
36
test/parallel/test-buffer-tojson.js
Normal file
36
test/parallel/test-buffer-tojson.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
require('../common');
|
||||||
|
const assert = require('assert');
|
||||||
|
const Buffer = require('buffer').Buffer;
|
||||||
|
|
||||||
|
{
|
||||||
|
assert.strictEqual(JSON.stringify(Buffer.alloc(0)),
|
||||||
|
'{"type":"Buffer","data":[]}');
|
||||||
|
assert.strictEqual(JSON.stringify(Buffer.from([1, 2, 3, 4])),
|
||||||
|
'{"type":"Buffer","data":[1,2,3,4]}');
|
||||||
|
}
|
||||||
|
|
||||||
|
// issue GH-7849
|
||||||
|
{
|
||||||
|
const buf = Buffer.from('test');
|
||||||
|
const json = JSON.stringify(buf);
|
||||||
|
const obj = JSON.parse(json);
|
||||||
|
const copy = Buffer.from(obj);
|
||||||
|
|
||||||
|
assert.deepStrictEqual(buf, copy);
|
||||||
|
}
|
||||||
|
|
||||||
|
// GH-5110
|
||||||
|
{
|
||||||
|
const buffer = Buffer.from('test');
|
||||||
|
const string = JSON.stringify(buffer);
|
||||||
|
|
||||||
|
assert.strictEqual(string, '{"type":"Buffer","data":[116,101,115,116]}');
|
||||||
|
|
||||||
|
function receiver(key, value) {
|
||||||
|
return value && value.type === 'Buffer' ? Buffer.from(value.data) : value;
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.deepStrictEqual(buffer, JSON.parse(string, receiver));
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user