From 2d7074c09b9c1e7ba19505e500960d69db5328b3 Mon Sep 17 00:00:00 2001 From: Rader Date: Thu, 24 May 2018 14:40:02 +0800 Subject: [PATCH] report error if event not not found by name when processing log --- accounts/abi/bind/base_test.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 accounts/abi/bind/base_test.go diff --git a/accounts/abi/bind/base_test.go b/accounts/abi/bind/base_test.go new file mode 100644 index 0000000000..0d13702ffc --- /dev/null +++ b/accounts/abi/bind/base_test.go @@ -0,0 +1,29 @@ +package bind + +import ( + "strings" + "testing" + + "github.com/ethereum/go-ethereum/accounts/abi" + "github.com/ethereum/go-ethereum/core/types" +) + +func TestUnkownEventName(t *testing.T) { + errorPrefix := "abi: event" + c := &BoundContract{} + c.abi.Events = make(map[string]abi.Event) + c.abi.Events["event1"] = abi.Event{} + if _, _, err := c.FilterLogs(nil, "event_not_exist"); err == nil || !strings.HasPrefix(err.Error(), errorPrefix) { + t.Fatal("should report error if event not found") + } + + if _, _, err := c.WatchLogs(nil, "event_not_exist"); err == nil || !strings.HasPrefix(err.Error(), errorPrefix) { + t.Fatal("should report error if event not found") + } + + var v interface{} + elog := types.Log{} + if err := c.UnpackLog(v, "event_not_exist", elog); err == nil || !strings.HasPrefix(err.Error(), errorPrefix) { + t.Fatal("should report error if event not found") + } +}