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
|
||||
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
|
||||
assert.throws(() => Buffer.alloc(8).writeFloatLE(0, 5), 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