diff --git a/lib/bufferreader.js b/lib/bufferreader.js index b8e2e72..f33ec90 100644 --- a/lib/bufferreader.js +++ b/lib/bufferreader.js @@ -22,6 +22,12 @@ BufferReader.prototype.eof = function eof() { return this.pos >= this.buf.length; }; +BufferReader.prototype.buffer = function(len) { + var buf = this.buf.slice(this.pos, this.pos + len); + this.pos = this.pos + len; + return buf; +}; + BufferReader.prototype.read = function() { var buf = this.buf.slice(this.pos); this.pos = this.buf.length; diff --git a/test/bufferreader.js b/test/bufferreader.js index 735d960..3bbce17 100644 --- a/test/bufferreader.js +++ b/test/bufferreader.js @@ -35,6 +35,20 @@ describe('BufferReader', function() { }); + describe('#buffer', function() { + + it('should return a buffer of this length', function() { + var buf = new Buffer(10); + buf.fill(0); + var br = new BufferReader(buf); + var buf2 = br.buffer(2); + buf2.length.should.equal(2); + br.eof().should.equal(false); + br.pos.should.equal(2); + }); + + }); + describe('read', function() { it('should return the same buffer', function() { diff --git a/test/test.script.js b/test/script.js similarity index 100% rename from test/test.script.js rename to test/script.js