From a965db2a7d58fd41558376ef324074edea20ca50 Mon Sep 17 00:00:00 2001 From: Stefan Haller Date: Thu, 23 Jul 2026 10:03:56 +0200 Subject: [PATCH] Demonstrate that drag release becomes hover --- pkg/gocui/tcell_driver_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkg/gocui/tcell_driver_test.go b/pkg/gocui/tcell_driver_test.go index be36efe11..a5bed98d0 100644 --- a/pkg/gocui/tcell_driver_test.go +++ b/pkg/gocui/tcell_driver_test.go @@ -24,6 +24,21 @@ func TestFirstMouseMovementAfterPressIsDragEvent(t *testing.T) { assert.Equal(t, ModMotion, dragEvent.Key.Mod()) } +func TestMouseReleaseAfterDragIsMouseEvent(t *testing.T) { + t.Cleanup(resetMouseState) + resetMouseState() + + gocuiEventFromTcellEvent(tcell.NewEventMouse(1, 2, tcell.ButtonPrimary, tcell.ModNone)) + gocuiEventFromTcellEvent(tcell.NewEventMouse(1, 3, tcell.ButtonPrimary, tcell.ModNone)) + releaseEvent := gocuiEventFromTcellEvent(tcell.NewEventMouse(1, 3, tcell.ButtonNone, tcell.ModNone)) + + /* EXPECTED: + assert.Equal(t, eventMouse, releaseEvent.Type) + assert.Equal(t, MouseRelease, releaseEvent.Key.KeyName()) + ACTUAL: */ + assert.Equal(t, eventMouseMove, releaseEvent.Type) +} + func resetMouseState() { lastMouseKey = tcell.ButtonNone lastMouseMod = tcell.ModNone