diff options
Diffstat (limited to 'eventer/eventer_test.go')
-rw-r--r-- | eventer/eventer_test.go | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/eventer/eventer_test.go b/eventer/eventer_test.go new file mode 100644 index 000000000..b35267af6 --- /dev/null +++ b/eventer/eventer_test.go @@ -0,0 +1,66 @@ +package eventer + +import "testing" + +func TestChannel(t *testing.T) { + eventer := New(nil) + + c := make(Channel, 1) + eventer.RegisterChannel("test", c) + eventer.Post("test", "hello world") + + res := <-c + + if res.Data.(string) != "hello world" { + t.Error("Expected event with data 'hello world'. Got", res.Data) + } +} + +func TestFunction(t *testing.T) { + eventer := New(nil) + + var data string + eventer.RegisterFunc("test", func(ev Event) { + data = ev.Data.(string) + }) + eventer.Post("test", "hello world") + + if data != "hello world" { + t.Error("Expected event with data 'hello world'. Got", data) + } +} + +func TestRegister(t *testing.T) { + eventer := New(nil) + + c := eventer.Register("test") + eventer.Post("test", "hello world") + + res := <-c + + if res.Data.(string) != "hello world" { + t.Error("Expected event with data 'hello world'. Got", res.Data) + } +} + +func TestOn(t *testing.T) { + eventer := New(nil) + + c := make(Channel, 1) + eventer.On("test", c) + + var data string + eventer.On("test", func(ev Event) { + data = ev.Data.(string) + }) + eventer.Post("test", "hello world") + + res := <-c + if res.Data.(string) != "hello world" { + t.Error("Expected channel event with data 'hello world'. Got", res.Data) + } + + if data != "hello world" { + t.Error("Expected function event with data 'hello world'. Got", data) + } +} |