@@ -5,6 +5,7 @@ var bscript = require('../src/script')
55var minimalData = require ( 'minimaldata' )
66
77var fixtures = require ( './fixtures/script.json' )
8+ var fixtures2 = require ( './fixtures/templates.json' )
89
910describe ( 'script' , function ( ) {
1011 // TODO
@@ -23,8 +24,8 @@ describe('script', function () {
2324 describe ( 'fromASM/toASM' , function ( ) {
2425 fixtures . valid . forEach ( function ( f ) {
2526 it ( 'encodes/decodes ' + f . asm , function ( ) {
26- var scriptSig = bscript . fromASM ( f . asm )
27- assert . strictEqual ( bscript . toASM ( scriptSig ) , f . asm )
27+ var script = bscript . fromASM ( f . asm )
28+ assert . strictEqual ( bscript . toASM ( script ) , f . asm )
2829 } )
2930 } )
3031
@@ -37,6 +38,28 @@ describe('script', function () {
3738 } )
3839 } )
3940
41+ describe ( 'fromASM/toASM (templates)' , function ( ) {
42+ fixtures2 . valid . forEach ( function ( f ) {
43+ if ( f . inputHex ) {
44+ var ih = bscript . toASM ( Buffer . from ( f . inputHex , 'hex' ) )
45+
46+ it ( 'encodes/decodes ' + ih , function ( ) {
47+ var script = bscript . fromASM ( f . input )
48+ assert . strictEqual ( script . toString ( 'hex' ) , f . inputHex )
49+ assert . strictEqual ( bscript . toASM ( script ) , f . input )
50+ } )
51+ }
52+
53+ if ( f . outputHex ) {
54+ it ( 'encodes/decodes ' + f . output , function ( ) {
55+ var script = bscript . fromASM ( f . output )
56+ assert . strictEqual ( script . toString ( 'hex' ) , f . outputHex )
57+ assert . strictEqual ( bscript . toASM ( script ) , f . output )
58+ } )
59+ }
60+ } )
61+ } )
62+
4063 describe ( 'isPushOnly' , function ( ) {
4164 fixtures . valid . forEach ( function ( f ) {
4265 it ( 'returns ' + ! ! f . stack + ' for ' + f . asm , function ( ) {
0 commit comments