(t *testing.T)
| 47 | } |
| 48 | |
| 49 | func TestFuncPanic(t *testing.T) { |
| 50 | store := NewStore(NewEngine()) |
| 51 | cb := func(caller *Caller, args []Val) ([]Val, *Trap) { |
| 52 | panic("x") |
| 53 | } |
| 54 | f := NewFunc(store, NewFuncType([]*ValType{}, []*ValType{}), cb) |
| 55 | var caught interface{} |
| 56 | var results interface{} |
| 57 | var err error |
| 58 | func() { |
| 59 | defer func() { caught = recover() }() |
| 60 | results, err = f.Call(store) |
| 61 | }() |
| 62 | require.NotNil(t, caught, "panic didn't work") |
| 63 | require.IsType(t, caught, string("")) |
| 64 | require.IsType(t, caught.(string), "x", "value didn't propagate") |
| 65 | require.NoError(t, err, "bad trap") |
| 66 | require.Nil(t, results, "bad results") |
| 67 | } |
| 68 | |
| 69 | func TestFuncArgs(t *testing.T) { |
| 70 | store := NewStore(NewEngine()) |
nothing calls this directly
no test coverage detected
searching dependent graphs…