vm: fix TRY offsets check

TRY can have an offset != 0 and still it can't have both parameters set to
zero.
This commit is contained in:
Roman Khimov 2020-08-24 16:20:57 +03:00
parent 32112249d5
commit 681ae4d5d6
2 changed files with 6 additions and 2 deletions

View file

@ -1296,7 +1296,11 @@ func TestTRY(t *testing.T) {
add5 := []byte{byte(opcode.PUSH5), byte(opcode.ADD)}
add9 := []byte{byte(opcode.PUSH9), byte(opcode.ADD)}
t.Run("NoCatch", func(t *testing.T) {
t.Run("NoFinally", getTRYTestFunc(nil, push1, nil, nil))
t.Run("NoFinally", func(t *testing.T) {
prog := getTRYProgram(push1, nil, nil)
vm := load(prog)
checkVMFailed(t, vm)
})
t.Run("WithFinally", getTRYTestFunc(10, push1, nil, add9))
t.Run("Throw", getTRYTestFunc(nil, throw, nil, add9))
})