github.com/igggame/nebulas-go@v2.1.0+incompatible/nf/nvm/engine_event_test.go (about) 1 package nvm 2 3 import ( 4 "io/ioutil" 5 "testing" 6 7 "github.com/nebulasio/go-nebulas/consensus/dpos" 8 "github.com/nebulasio/go-nebulas/core/state" 9 "github.com/nebulasio/go-nebulas/storage" 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestEvent(t *testing.T) { 14 tests := []struct { 15 filepath string 16 }{ 17 {"test/test_event.js"}, 18 } 19 20 for _, tt := range tests { 21 t.Run(tt.filepath, func(t *testing.T) { 22 data, err := ioutil.ReadFile(tt.filepath) 23 assert.Nil(t, err, "filepath read error") 24 25 mem, _ := storage.NewMemoryStorage() 26 context, _ := state.NewWorldState(dpos.NewDpos(), mem) 27 owner, err := context.GetOrCreateUserAccount([]byte("n1FkntVUMPAsESuCAAPK711omQk19JotBjM")) 28 assert.Nil(t, err) 29 owner.AddBalance(newUint128FromIntWrapper(1000000000)) 30 contract, _ := context.CreateContractAccount([]byte("n1JNHZJEUvfBYfjDRD14Q73FX62nJAzXkMR"), nil, nil) 31 32 ctx, err := NewContext(mockBlock(), mockTransaction(), contract, context) 33 engine := NewV8Engine(ctx) 34 engine.SetExecutionLimits(100000, 10000000) 35 _, err = engine.RunScriptSource(string(data), 0) 36 engine.Dispose() 37 }) 38 } 39 }