diff --git a/test/parallel/test-buffer-alloc.js b/test/parallel/test-buffer-alloc.js index 3486bb90a63..01e7189558a 100644 --- a/test/parallel/test-buffer-alloc.js +++ b/test/parallel/test-buffer-alloc.js @@ -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); diff --git a/test/parallel/test-buffer-tojson.js b/test/parallel/test-buffer-tojson.js new file mode 100644 index 00000000000..ae31e8f5a5a --- /dev/null +++ b/test/parallel/test-buffer-tojson.js @@ -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)); +}