Browse Source

add bn support to varint class

patch-2
Ryan X. Charles 11 years ago
parent
commit
4594cbb9e7
  1. 9
      lib/varint.js
  2. 19
      test/varint.js

9
lib/varint.js

@ -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();
};

19
test/varint.js

@ -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() {

Loading…
Cancel
Save