add bn support to varint class

This commit is contained in:
Ryan X. Charles 2014-09-15 15:29:39 -07:00
parent 2f9bc222e5
commit 4594cbb9e7
2 changed files with 28 additions and 0 deletions

View File

@ -31,6 +31,11 @@ Varint.prototype.fromBufferReader = function(br) {
return this;
};
Varint.prototype.fromBN = function(bn) {
this.buf = BufferWriter().writeVarintBN(bn).concat();
return this;
};
Varint.prototype.fromNumber = function(num) {
this.buf = BufferWriter().writeVarintNum(num).concat();
return this;
@ -40,6 +45,10 @@ Varint.prototype.toBuffer = function() {
return this.buf;
};
Varint.prototype.toBN = function() {
return BufferReader(this.buf).readVarintBN();
};
Varint.prototype.toNumber = function() {
return BufferReader(this.buf).readVarintNum();
};

View File

@ -1,3 +1,4 @@
var BN = require('../lib/bn');
var should = require('chai').should();
var BufferReader = require('../lib/bufferreader');
var BufferWriter = require('../lib/bufferwriter');
@ -48,6 +49,15 @@ describe('Varint', function() {
});
describe('#fromBN', function() {
it('should set a number', function() {
var varint = Varint().fromNumber(BN(5));
varint.toNumber().should.equal(5);
});
});
describe('#fromNumber', function() {
it('should set a number', function() {
@ -67,6 +77,15 @@ describe('Varint', function() {
});
describe('#toBN', function() {
it('should return a buffer', function() {
var varint = Varint(5);
varint.toBN().toString().should.equal(BN(5).toString());
});
});
describe('#toNumber', function() {
it('should return a buffer', function() {