You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.7 KiB
76 lines
1.7 KiB
'use strict';
|
|
|
|
var _ = require('lodash');
|
|
var should = require('chai').should();
|
|
var bitcore = require('..');
|
|
var Opcode = bitcore.Opcode;
|
|
|
|
describe('Opcode', function() {
|
|
|
|
it('should create a new Opcode', function() {
|
|
var opcode = new Opcode(5);
|
|
should.exist(opcode);
|
|
});
|
|
|
|
it('should convert to a string with this handy syntax', function() {
|
|
Opcode(0).toString().should.equal('OP_0');
|
|
Opcode(96).toString().should.equal('OP_16');
|
|
Opcode(97).toString().should.equal('OP_NOP');
|
|
});
|
|
|
|
it('should convert to a number with this handy syntax', function() {
|
|
Opcode('OP_0').toNumber().should.equal(0);
|
|
Opcode('OP_16').toNumber().should.equal(96);
|
|
Opcode('OP_NOP').toNumber().should.equal(97);
|
|
});
|
|
|
|
describe('#fromNumber', function() {
|
|
|
|
it('should work for 0', function() {
|
|
Opcode().fromNumber(0).num.should.equal(0);
|
|
});
|
|
|
|
});
|
|
|
|
describe('#toNumber', function() {
|
|
|
|
it('should work for 0', function() {
|
|
Opcode().fromNumber(0).toNumber().should.equal(0);
|
|
});
|
|
|
|
});
|
|
|
|
describe('#fromString', function() {
|
|
|
|
it('should work for OP_0', function() {
|
|
Opcode().fromString('OP_0').num.should.equal(0);
|
|
});
|
|
|
|
});
|
|
|
|
describe('#toString', function() {
|
|
|
|
it('should work for OP_0', function() {
|
|
Opcode().fromString('OP_0').toString().should.equal('OP_0');
|
|
});
|
|
|
|
});
|
|
|
|
describe('@map', function() {
|
|
|
|
it('should have a map containing 116 elements', function() {
|
|
_.size(Opcode.map).should.equal(116);
|
|
});
|
|
|
|
});
|
|
|
|
describe('@reverseMap', function() {
|
|
|
|
it('should exist and have op 185', function() {
|
|
should.exist(Opcode.reverseMap);
|
|
Opcode.reverseMap[185].should.equal('OP_NOP10');
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|