Files
wails/internal/subsystem/event_test.go
Travis McLane 25a157e661 Squashed 'v2/' content from commit 7d8960e
git-subtree-dir: v2
git-subtree-split: 7d8960e87431924f5705df4c777758a0eb32e145
2020-09-01 19:34:51 -05:00

51 lines
965 B
Go

package subsystem
import (
"os"
"sync"
"testing"
"github.com/leaanthony/wailsv2/v2/internal/logger"
"github.com/leaanthony/wailsv2/v2/internal/messagedispatcher/message"
"github.com/leaanthony/wailsv2/v2/internal/servicebus"
"github.com/matryer/is"
)
func TestSingleTopic(t *testing.T) {
is := is.New(t)
var expected string = "I am a message!"
var actual string
var wg sync.WaitGroup
// Create new bus
myLogger := logger.New(os.Stdout)
myLogger.SetLogLevel(logger.TRACE)
bus := servicebus.New(myLogger)
eventSubsystem, _ := NewEvent(bus, myLogger)
eventSubsystem.Start()
eventSubsystem.RegisterListener("test", func(data ...interface{}) {
is.Equal(len(data), 1)
actual = data[0].(string)
wg.Done()
})
wg.Add(1)
eventMessage := &message.EventMessage{
Name: "test",
Data: []interface{}{"I am a message!"},
}
bus.Start()
bus.Publish("event:test:from:j", eventMessage)
wg.Wait()
bus.Stop()
is.Equal(actual, expected)
}