MCPcopy Index your code
hub / github.com/btcsuite/btcd / TestScriptBuilderAddInt64

Function TestScriptBuilderAddInt64

txscript/scriptbuilder_test.go:113–178  ·  view source on GitHub ↗

TestScriptBuilderAddInt64 tests that pushing signed integers to a script via the ScriptBuilder API works as expected.

(t *testing.T)

Source from the content-addressed store, hash-verified

111// TestScriptBuilderAddInt64 tests that pushing signed integers to a script via
112// the ScriptBuilder API works as expected.
113func TestScriptBuilderAddInt64(t *testing.T) {
114 t.Parallel()
115
116 tests := []struct {
117 name string
118 val int64
119 expected []byte
120 }{
121 {name: "push -1", val: -1, expected: []byte{OP_1NEGATE}},
122 {name: "push small int 0", val: 0, expected: []byte{OP_0}},
123 {name: "push small int 1", val: 1, expected: []byte{OP_1}},
124 {name: "push small int 2", val: 2, expected: []byte{OP_2}},
125 {name: "push small int 3", val: 3, expected: []byte{OP_3}},
126 {name: "push small int 4", val: 4, expected: []byte{OP_4}},
127 {name: "push small int 5", val: 5, expected: []byte{OP_5}},
128 {name: "push small int 6", val: 6, expected: []byte{OP_6}},
129 {name: "push small int 7", val: 7, expected: []byte{OP_7}},
130 {name: "push small int 8", val: 8, expected: []byte{OP_8}},
131 {name: "push small int 9", val: 9, expected: []byte{OP_9}},
132 {name: "push small int 10", val: 10, expected: []byte{OP_10}},
133 {name: "push small int 11", val: 11, expected: []byte{OP_11}},
134 {name: "push small int 12", val: 12, expected: []byte{OP_12}},
135 {name: "push small int 13", val: 13, expected: []byte{OP_13}},
136 {name: "push small int 14", val: 14, expected: []byte{OP_14}},
137 {name: "push small int 15", val: 15, expected: []byte{OP_15}},
138 {name: "push small int 16", val: 16, expected: []byte{OP_16}},
139 {name: "push 17", val: 17, expected: []byte{OP_DATA_1, 0x11}},
140 {name: "push 65", val: 65, expected: []byte{OP_DATA_1, 0x41}},
141 {name: "push 127", val: 127, expected: []byte{OP_DATA_1, 0x7f}},
142 {name: "push 128", val: 128, expected: []byte{OP_DATA_2, 0x80, 0}},
143 {name: "push 255", val: 255, expected: []byte{OP_DATA_2, 0xff, 0}},
144 {name: "push 256", val: 256, expected: []byte{OP_DATA_2, 0, 0x01}},
145 {name: "push 32767", val: 32767, expected: []byte{OP_DATA_2, 0xff, 0x7f}},
146 {name: "push 32768", val: 32768, expected: []byte{OP_DATA_3, 0, 0x80, 0}},
147 {name: "push -2", val: -2, expected: []byte{OP_DATA_1, 0x82}},
148 {name: "push -3", val: -3, expected: []byte{OP_DATA_1, 0x83}},
149 {name: "push -4", val: -4, expected: []byte{OP_DATA_1, 0x84}},
150 {name: "push -5", val: -5, expected: []byte{OP_DATA_1, 0x85}},
151 {name: "push -17", val: -17, expected: []byte{OP_DATA_1, 0x91}},
152 {name: "push -65", val: -65, expected: []byte{OP_DATA_1, 0xc1}},
153 {name: "push -127", val: -127, expected: []byte{OP_DATA_1, 0xff}},
154 {name: "push -128", val: -128, expected: []byte{OP_DATA_2, 0x80, 0x80}},
155 {name: "push -255", val: -255, expected: []byte{OP_DATA_2, 0xff, 0x80}},
156 {name: "push -256", val: -256, expected: []byte{OP_DATA_2, 0x00, 0x81}},
157 {name: "push -32767", val: -32767, expected: []byte{OP_DATA_2, 0xff, 0xff}},
158 {name: "push -32768", val: -32768, expected: []byte{OP_DATA_3, 0x00, 0x80, 0x80}},
159 }
160
161 builder := NewScriptBuilder()
162 t.Logf("Running %d tests", len(tests))
163 for i, test := range tests {
164 builder.Reset().AddInt64(test.val)
165 result, err := builder.Script()
166 if err != nil {
167 t.Errorf("ScriptBuilder.AddInt64 #%d (%s) unexpected "+
168 "error: %v", i, test.name, err)
169 continue
170 }

Callers

nothing calls this directly

Calls 4

ResetMethod · 0.95
ScriptMethod · 0.95
NewScriptBuilderFunction · 0.85
AddInt64Method · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…