mirror of https://github.com/status-im/op-geth.git
31 lines
785 B
Go
31 lines
785 B
Go
|
package ethchain
|
||
|
|
||
|
import (
|
||
|
"github.com/ethereum/eth-go/ethdb"
|
||
|
"github.com/ethereum/eth-go/ethutil"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestSnapshot(t *testing.T) {
|
||
|
ethutil.ReadConfig("", ethutil.LogStd, "")
|
||
|
|
||
|
db, _ := ethdb.NewMemDatabase()
|
||
|
state := NewState(ethutil.NewTrie(db, ""))
|
||
|
|
||
|
stateObject := NewContract([]byte("aa"), ethutil.Big1, ZeroHash256)
|
||
|
state.UpdateStateObject(stateObject)
|
||
|
stateObject.SetStorage(ethutil.Big("0"), ethutil.NewValue(42))
|
||
|
|
||
|
snapshot := state.Snapshot()
|
||
|
|
||
|
stateObject = state.GetStateObject([]byte("aa"))
|
||
|
stateObject.SetStorage(ethutil.Big("0"), ethutil.NewValue(43))
|
||
|
|
||
|
state.Revert(snapshot)
|
||
|
|
||
|
stateObject = state.GetStateObject([]byte("aa"))
|
||
|
if !stateObject.GetStorage(ethutil.Big("0")).Cmp(ethutil.NewValue(42)) {
|
||
|
t.Error("Expected storage 0 to be 42")
|
||
|
}
|
||
|
}
|