fcoin/test/script-test.js
2014-11-17 15:06:37 +03:00

34 lines
1.1 KiB
JavaScript

var assert = require('assert');
var bcoin = require('../');
describe('Script', function() {
it('should encode/decode script', function() {
var src = '20' +
'000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f' +
'20' +
'101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f' +
'ac';
var decoded = bcoin.script.decode(bcoin.utils.toArray(src, 'hex'));
assert.equal(decoded.length, 3);
assert.equal(
bcoin.utils.toHex(decoded[0]),
'000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f');
assert.equal(
bcoin.utils.toHex(decoded[1]),
'101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f');
assert.equal(decoded[2], 'checksig');
var dst = bcoin.script.encode(decoded);
assert.equal(bcoin.utils.toHex(dst), src);
});
it('should encode/decode numbers', function() {
var script = [ [], 1, 2, 16 ];
var encoded = bcoin.script.encode(script);
assert.deepEqual(encoded, [ 0, 0x51, 0x52, 0x60 ]);
var decoded = bcoin.script.decode(encoded);
assert.deepEqual(decoded, script);
});
});