flocore-p2p/test/messages/util.js
2015-10-16 14:59:05 -04:00

40 lines
1.2 KiB
JavaScript

'use strict';
/* jshint unused: false */
var should = require('chai').should();
var utils = require('../../lib/messages/utils');
var bitcore = require('bitcore-lib');
var BufferReader = bitcore.encoding.BufferReader;
describe('Message Utils', function() {
describe('checkFinished', function() {
it('should throw an error if buffer reader is not finished', function() {
/*jshint immed: false */
var buffer = new Buffer(Array(32));
var br = new BufferReader(buffer);
(function() {
utils.checkFinished(br);
}).should.throw('Data still available after parsing');
});
});
describe('sanitizeStartStop', function() {
it('should throw an error if starts is invalid length', function() {
/*jshint immed: false */
var stop = '000000000000000013413cf2536b491bf0988f52e90c476ffeb701c8bfdb1db9';
(function() {
utils.sanitizeStartStop({starts: ['0000'], stop: stop});
}).should.throw('Invalid hash');
});
it('should keep buffers as buffers', function() {
/*jshint immed: false */
var starts = [new Buffer(Array(32))];
var obj = utils.sanitizeStartStop({starts: starts});
obj.starts[0].should.deep.equal(starts[0]);
});
});
});