diff --git a/lib/bufferwriter.js b/lib/bufferwriter.js index 85a18fe..5bf5800 100644 --- a/lib/bufferwriter.js +++ b/lib/bufferwriter.js @@ -1,9 +1,17 @@ var BN = require('./bn'); -var BufferWriter = function BufferWriter(bufs) { +var BufferWriter = function BufferWriter(obj) { if (!(this instanceof BufferWriter)) - return new BufferReader(buf); - this.bufs = bufs || []; + return new BufferReader(obj); + if (obj) + this.set(obj); + else + this.bufs = []; +}; + +BufferWriter.prototype.set = function(obj) { + this.bufs = obj.bufs || this.bufs || []; + return this; }; BufferWriter.prototype.concat = function() { diff --git a/test/test.bufferwriter.js b/test/test.bufferwriter.js index 7ac33e5..acbc8f1 100644 --- a/test/test.bufferwriter.js +++ b/test/test.bufferwriter.js @@ -10,12 +10,24 @@ describe('BufferWriter', function() { should.exist(bw); }); + describe('#set', function() { + + it('set bufs', function() { + var buf1 = new Buffer([0]); + var buf2 = new Buffer([1]); + var bufs = [buf1, buf2]; + var bw = new BufferWriter().set({bufs: [buf1, buf2]}); + bw.concat().toString('hex').should.equal('0001'); + }); + + }); + describe('#concat', function() { it('should concat these two bufs', function() { var buf1 = new Buffer([0]); var buf2 = new Buffer([1]); - var bw = new BufferWriter([buf1, buf2]); + var bw = new BufferWriter({bufs: [buf1, buf2]}); bw.concat().toString('hex').should.equal('0001'); });