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;
|
return false;
|
||||||
}
|
}
|
||||||
var redeemChunk = this.chunks[this.chunks.length - 1];
|
var redeemChunk = this.chunks[this.chunks.length - 1];
|
||||||
if (!redeemChunk) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
var redeemBuf = redeemChunk.buf;
|
var redeemBuf = redeemChunk.buf;
|
||||||
if (!redeemBuf) {
|
if (!redeemBuf) {
|
||||||
return false;
|
return false;
|
||||||
@ -449,14 +446,12 @@ Script.prototype.equals = function(script) {
|
|||||||
}
|
}
|
||||||
var i;
|
var i;
|
||||||
for (i = 0; i < this.chunks.length; i++) {
|
for (i = 0; i < this.chunks.length; i++) {
|
||||||
if (BufferUtil.isBuffer(this.chunks[i]) && !BufferUtil.isBuffer(script.chunks[i])) {
|
if (BufferUtil.isBuffer(this.chunks[i].buf) && !BufferUtil.isBuffer(script.chunks[i].buf)) {
|
||||||
return false;
|
|
||||||
} else if (this.chunks[i] instanceof Opcode && !(script.chunks[i] instanceof Opcode)) {
|
|
||||||
return false;
|
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;
|
return false;
|
||||||
} else if (this.chunks[i].num !== script.chunks[i].num) {
|
} else if (this.chunks[i].opcodenum !== script.chunks[i].opcodenum) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,6 +11,8 @@ var Opcode = bitcore.Opcode;
|
|||||||
var PublicKey = bitcore.PublicKey;
|
var PublicKey = bitcore.PublicKey;
|
||||||
var Address = bitcore.Address;
|
var Address = bitcore.Address;
|
||||||
|
|
||||||
|
var script_valid = require('../data/bitcoind/script_valid');
|
||||||
|
|
||||||
describe('Script', function() {
|
describe('Script', function() {
|
||||||
|
|
||||||
it('should make a new 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