123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package event_test
- import (
- "testing"
- "dev.hexasoftware.com/hxs/event"
- )
- func TestEvent(t *testing.T) {
- bus := event.NewBus()
- a := 0
- bus.On("test", func(evt event.Event) {
- t.Log("Event successfull")
- a++
- })
- bus.Emit(event.New("test", nil))
- if a != 1 {
- t.Fatal("Event Failed")
- }
- }
- // Testing a named emitter that prefixes events
- func TestNamedEmitter(t *testing.T) {
- bus := event.NewBus()
- em := event.NewNamedEmitter("user", bus)
- a := 0
- bus.On("test", func(evt event.Event) {
- a++
- })
- bus.On("user:test", func(evt event.Event) {
- t.Log("Event fired successfully")
- a++
- })
- em.Emit(event.New("test", nil))
- if a != 1 {
- t.Fail()
- }
- }
- type MyStruct struct {
- event.Emitter
- }
- func TestCustomStruct(t *testing.T) {
- bus := event.NewBus()
- a := 0
- bus.On("MyStruct:test", func(evt event.Event) {
- t.Log("Event fired successfully")
- a++
- })
- s := MyStruct{event.NewNamedEmitter("MyStruct", bus)}
- s.Emit(event.New("test", nil))
- }
- func TestParamData(t *testing.T) {
- bus := event.NewBus()
- bus.On("test", func(evt event.Event) {
- str := evt.Data().(string)
- if str != "123" {
- t.FailNow()
- }
- })
- bus.Emit(event.New("test", "123"))
- }
|