} } { // make sure only top level parent propagates from allocPool const b = new Buffer(5); const c = b.slice(0, 4); const d = c.slice(0, 2); assert.equal(b.parent, c.parent); assert.equal(b.parent, d.parent); } { // also from a non-pooled instance const b = new SlowBuffer(5); const c = b.slice(0, 4); const d = c.slice(0, 2); assert.equal(c.parent, d.parent); } { // Bug regression test const testValue = '\u00F6\u65E5\u672C\u8A9E'; // ö日本語 const buffer = new Buffer(32); const size = buffer.write(testValue, 0, 'utf8'); console.log('bytes written to buffer: ' + size); const slice = buffer.toString('utf8', 0, size); assert.equal(slice, testValue); } {
assert.throws(function() { var len = 0xfffff; var sbuf = new SlowBuffer(len); sbuf = sbuf.slice(-len); // Should throw. for (var i = 0; i < len; ++i) sbuf[i] = 0x42; // Try to force segfault. }, RangeError);