From 12996a945b3a1f6bf5b5b7b6b1ba15d66de22273 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Sat, 31 Aug 2024 18:08:58 +0100 Subject: [PATCH] event/event_test: add TestReceive --- event/event_test.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/event/event_test.go b/event/event_test.go index 54cf75a..2f48960 100644 --- a/event/event_test.go +++ b/event/event_test.go @@ -1,8 +1,11 @@ package event import ( + "os" "testing" + "time" + "github.com/thiagokokada/hyprland-go" "github.com/thiagokokada/hyprland-go/internal/assert" ) @@ -15,6 +18,30 @@ type FakeEventHandler struct { EventHandler } +func TestReceive(t *testing.T) { + if os.Getenv("HYPRLAND_INSTANCE_SIGNATURE") == "" { + t.Skip("HYPRLAND_INSTANCE_SIGNATURE not set, skipping test") + } + + // Generate an event + go func() { + c := hyprland.MustClient() + time.Sleep(100 * time.Millisecond) + c.Dispatch("exec kitty") + }() + + // We must capture this event + c := MustEventClient() + data, err := c.Receive() + + assert.NoError(t, err) + assert.True(t, len(data) >= 0) + for _, d := range data { + assert.NotEqual(t, string(d.Data), "") + assert.NotEqual(t, string(d.Type), "") + } +} + func TestSubscribe(t *testing.T) { h := &FakeEventHandler{t: t} c := &FakeEventClient{}