increase test coverage and fix some bugs
This commit is contained in:
parent
e0b1ca0e10
commit
ef7eafbb0c
@ -291,9 +291,6 @@ Script.prototype.isScriptHashIn = function() {
|
||||
return false;
|
||||
}
|
||||
var redeemChunk = this.chunks[this.chunks.length - 1];
|
||||
if (!redeemChunk) {
|
||||
return false;
|
||||
}
|
||||
var redeemBuf = redeemChunk.buf;
|
||||
if (!redeemBuf) {
|
||||
return false;
|
||||
@ -449,14 +446,12 @@ Script.prototype.equals = function(script) {
|
||||
}
|
||||
var i;
|
||||
for (i = 0; i < this.chunks.length; i++) {
|
||||
if (BufferUtil.isBuffer(this.chunks[i]) && !BufferUtil.isBuffer(script.chunks[i])) {
|
||||
return false;
|
||||
} else if (this.chunks[i] instanceof Opcode && !(script.chunks[i] instanceof Opcode)) {
|
||||
if (BufferUtil.isBuffer(this.chunks[i].buf) && !BufferUtil.isBuffer(script.chunks[i].buf)) {
|
||||
return false;
|
||||
}
|
||||
if (BufferUtil.isBuffer(this.chunks[i]) && !BufferUtil.equals(this.chunks[i], script.chunks[i])) {
|
||||
if (BufferUtil.isBuffer(this.chunks[i].buf) && !BufferUtil.equals(this.chunks[i].buf, script.chunks[i].buf)) {
|
||||
return false;
|
||||
} else if (this.chunks[i].num !== script.chunks[i].num) {
|
||||
} else if (this.chunks[i].opcodenum !== script.chunks[i].opcodenum) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,6 +11,8 @@ var Opcode = bitcore.Opcode;
|
||||
var PublicKey = bitcore.PublicKey;
|
||||
var Address = bitcore.Address;
|
||||
|
||||
var script_valid = require('../data/bitcoind/script_valid');
|
||||
|
||||
describe('Script', function() {
|
||||
|
||||
it('should make a new script', function() {
|
||||
@ -713,5 +715,22 @@ describe('Script', function() {
|
||||
});
|
||||
|
||||
});
|
||||
describe('equals', function() {
|
||||
it('returns true for same script', function() {
|
||||
Script('OP_TRUE').equals(Script('OP_TRUE')).should.equal(true);
|
||||
});
|
||||
it('returns false for different chunks sizes', function() {
|
||||
Script('OP_TRUE').equals(Script('OP_TRUE OP_TRUE')).should.equal(false);
|
||||
});
|
||||
it('returns false for different opcodes', function() {
|
||||
Script('OP_TRUE OP_TRUE').equals(Script('OP_TRUE OP_FALSE')).should.equal(false);
|
||||
});
|
||||
it('returns false for different data', function() {
|
||||
Script().add(new Buffer('a')).equals(Script('OP_TRUE')).should.equal(false);
|
||||
});
|
||||
it('returns false for different data', function() {
|
||||
Script().add(new Buffer('a')).equals(Script().add(new Buffer('b'))).should.equal(false);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user