Skip to content

Commit

Permalink
fix Buffers.skip in the browser
Browse files Browse the repository at this point in the history
  • Loading branch information
maraoz committed Apr 10, 2014
1 parent b58d5c5 commit 3cbcbd5
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 9 deletions.
3 changes: 1 addition & 2 deletions Buffers.monkey.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ exports.patch = function(Buffers) {
}
var pos = this.pos(i);
this.buffers = this.buffers.slice(pos.buf);
this.buffers[0].length -= pos.offset;
this.buffers[0].offset += pos.offset;
this.buffers[0] = new Buffer(this.buffers[0].slice(pos.offset));
this.length -= i;
};
};
1 change: 1 addition & 0 deletions bitcore.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ requireWhenAccessed('bignum', 'bignum');
requireWhenAccessed('base58', 'base58-native');
requireWhenAccessed('bufferput', 'bufferput');
requireWhenAccessed('buffertools', 'buffertools');
requireWhenAccessed('Buffers.monkey', './Buffers.monkey');
requireWhenAccessed('config', './config');
requireWhenAccessed('const', './const');
requireWhenAccessed('Deserialize', './Deserialize');
Expand Down
3 changes: 3 additions & 0 deletions browser/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,9 @@ var createBitcore = function(opts) {
b.require(opts.dir + 'base58-native', {
expose: 'base58-native'
});
b.require(opts.dir + 'buffers', {
expose: 'buffers'
});
b.require('./' + opts.dir + 'bitcore', {
expose: 'bitcore'
});
Expand Down
19 changes: 12 additions & 7 deletions test/test.misc.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ var Address = bitcore.Address;
var networks = bitcore.networks;
var WalletKey = bitcore.WalletKey;
var Buffers = require('buffers');
var m = bitcore['Buffers.monkey'] || require('../Buffers.monkey');
m.patch(Buffers);

describe('Miscelaneous stuff', function() {
it('should initialze the config object', function() {
Expand Down Expand Up @@ -53,25 +55,28 @@ describe('Miscelaneous stuff', function() {
var bufs;
beforeEach(function() {
bufs = new Buffers();
bufs.push(new Buffer([1, 2, 3]));
bufs.push(new Buffer([4, 5, 6, 7]));
bufs.push(new Buffer([8, 9, 10]));
bufs.push(new Buffer('aaaaaa', 'hex'));
bufs.push(new Buffer('bbbb', 'hex'));
bufs.push(new Buffer('cc', 'hex'));
});
it('should monkey patch the Buffers class', function() {
require('../Buffers.monkey').patch(Buffers);
should.exist(bufs.skip);
});
it('should work for 0', function() {
bufs.skip(0);
bufs.toBuffer().toHex().should.equal('0102030405060708090a');
bufs.toBuffer().toHex().should.equal('aaaaaabbbbcc');
});
it('should work for length', function() {
bufs.skip(bufs.length);
bufs.toBuffer().toHex().should.equal('');
});
it('should work for middle values', function() {
bufs.skip(5);
bufs.toBuffer().toHex().should.equal('060708090a');
bufs.skip(4);
bufs.toBuffer().toHex().should.equal('bbcc');
bufs.skip(1);
bufs.toBuffer().toHex().should.equal('cc');
bufs.skip(1);
bufs.toBuffer().toHex().should.equal('');
});
});
// bignum
Expand Down

0 comments on commit 3cbcbd5

Please sign in to comment.