Add type instance check tests

This commit is contained in:
junderw 2019-07-05 12:51:13 +09:00
parent 14eeb309df
commit 51133c8051
No known key found for this signature in database
GPG key ID: B256185D3A971908
3 changed files with 42 additions and 5 deletions

View file

@ -143,7 +143,10 @@ class Psbt extends bip174_1.Psbt {
}); });
return self.__TX.toBuffer(); return self.__TX.toBuffer();
}; };
return super.addInput(inputData, inputAdder); super.addInput(inputData, inputAdder);
this.__FEE_RATE = undefined;
this.__EXTRACTED_TX = undefined;
return this;
} }
addOutput(outputData) { addOutput(outputData) {
checkInputsForPartialSig(this.inputs, 'addOutput'); checkInputsForPartialSig(this.inputs, 'addOutput');
@ -170,7 +173,10 @@ class Psbt extends bip174_1.Psbt {
}); });
return self.__TX.toBuffer(); return self.__TX.toBuffer();
}; };
return super.addOutput(outputData, true, outputAdder); super.addOutput(outputData, true, outputAdder);
this.__FEE_RATE = undefined;
this.__EXTRACTED_TX = undefined;
return this;
} }
addNonWitnessUtxoToInput(inputIndex, nonWitnessUtxo) { addNonWitnessUtxoToInput(inputIndex, nonWitnessUtxo) {
super.addNonWitnessUtxoToInput(inputIndex, nonWitnessUtxo); super.addNonWitnessUtxoToInput(inputIndex, nonWitnessUtxo);

View file

@ -224,4 +224,29 @@ describe(`Psbt`, () => {
}, {message: 'Input index too high'}) }, {message: 'Input index too high'})
}) })
}) })
describe('Method return types', () => {
it('fromTransaction returns Psbt type (not base class)', () => {
const psbt = Psbt.fromTransaction(Buffer.from([2,0,0,0,0,0,0,0,0,0]));
assert.strictEqual(psbt instanceof Psbt, true);
assert.ok(psbt.__TX);
})
it('fromBuffer returns Psbt type (not base class)', () => {
const psbt = Psbt.fromBuffer(Buffer.from(
'70736274ff01000a01000000000000000000000000', 'hex' //cHNidP8BAAoBAAAAAAAAAAAAAAAA
));
assert.strictEqual(psbt instanceof Psbt, true);
assert.ok(psbt.__TX);
})
it('fromBase64 returns Psbt type (not base class)', () => {
const psbt = Psbt.fromBase64('cHNidP8BAAoBAAAAAAAAAAAAAAAA');
assert.strictEqual(psbt instanceof Psbt, true);
assert.ok(psbt.__TX);
})
it('fromHex returns Psbt type (not base class)', () => {
const psbt = Psbt.fromHex('70736274ff01000a01000000000000000000000000');
assert.strictEqual(psbt instanceof Psbt, true);
assert.ok(psbt.__TX);
})
})
}) })

View file

@ -180,7 +180,10 @@ export class Psbt extends PsbtBase {
}); });
return self.__TX.toBuffer(); return self.__TX.toBuffer();
}; };
return super.addInput(inputData, inputAdder); super.addInput(inputData, inputAdder);
this.__FEE_RATE = undefined;
this.__EXTRACTED_TX = undefined;
return this;
} }
addOutput(outputData: TransactionOutput): this { addOutput(outputData: TransactionOutput): this {
@ -211,7 +214,10 @@ export class Psbt extends PsbtBase {
}); });
return self.__TX.toBuffer(); return self.__TX.toBuffer();
}; };
return super.addOutput(outputData, true, outputAdder); super.addOutput(outputData, true, outputAdder);
this.__FEE_RATE = undefined;
this.__EXTRACTED_TX = undefined;
return this;
} }
addNonWitnessUtxoToInput( addNonWitnessUtxoToInput(