]> zoso.dev Git - buffer.git/commitdiff
Add .parent property
authorVolker Mische <volker.mische@gmail.com>
Sun, 21 Jan 2018 00:46:06 +0000 (01:46 +0100)
committerVolker Mische <volker.mische@gmail.com>
Sun, 21 Jan 2018 02:06:34 +0000 (03:06 +0100)
index.js
test/node/test-buffer-alloc.js
test/node/test-buffer-arraybuffer.js

index c4576d7148e781c12e7c7a53f8af02d5f0420dcc..5befc08c54ac2dea5e3a827bf3fb031e56f58ea3 100644 (file)
--- a/index.js
+++ b/index.js
@@ -53,6 +53,16 @@ function typedArraySupport () {
   }
 }
 
+Object.defineProperty(Buffer.prototype, 'parent', {
+  enumerable: true,
+  get () {
+    if (!(this instanceof Buffer)) {
+      return undefined
+    }
+    return this.buffer
+  }
+})
+
 Object.defineProperty(Buffer.prototype, 'offset', {
   enumerable: true,
   get () {
index 5d0e03255d2da0246c5a225082d2d74dad7c0939..be384f0ce7cc9d72d1c7c056a0c47428bcbb7753 100644 (file)
@@ -931,12 +931,12 @@ if (common.hasCrypto) { // eslint-disable-line crypto-check
 } else {
   common.printSkipMessage('missing crypto');
 }
-/*
+
 var ps = Buffer.poolSize;
 Buffer.poolSize = 0;
 assert(Buffer.allocUnsafe(1).parent instanceof ArrayBuffer);
 Buffer.poolSize = ps;
-*/
+
 // Test Buffer.copy() segfault
 assert.throws(() => Buffer.allocUnsafe(10).copy(),
               /TypeError: argument should be a Buffer/);
index a418752ba25702f27613f4fcef27d7a4540b192f..40368120a8ebe62545c67e33b862f1f4491b3f04 100644 (file)
@@ -17,7 +17,7 @@ var buf = Buffer.from(ab);
 assert.ok(buf instanceof Buffer);
 // For backwards compatibility of old .parent property test that if buf is not
 // a slice then .parent should be undefined.
-assert.equal(buf.parent, undefined);
+assert.equal(buf.parent, buf.buffer);
 assert.equal(buf.buffer, ab);
 assert.equal(buf.length, ab.byteLength);