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  }