From 3610a48e6515d0d3e90d614e05d04ff340e79291 Mon Sep 17 00:00:00 2001 From: Robin Malfait Date: Thu, 4 Feb 2021 12:06:27 +0100 Subject: [PATCH] ensure focus event is triggered on click when element is focusable --- packages/@headlessui-react/src/test-utils/interactions.ts | 4 ++++ packages/@headlessui-vue/src/test-utils/interactions.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/packages/@headlessui-react/src/test-utils/interactions.ts b/packages/@headlessui-react/src/test-utils/interactions.ts index 214073e82e..f83ad29204 100644 --- a/packages/@headlessui-react/src/test-utils/interactions.ts +++ b/packages/@headlessui-react/src/test-utils/interactions.ts @@ -190,6 +190,10 @@ export async function click( if (!cancelled) { fireEvent.mouseDown(element, options) } + + // Ensure to trigger a `focus` event if the element is focusable + if ((element as HTMLElement)?.matches(focusableSelector)) fireEvent.focus(element, options) + fireEvent.pointerUp(element, options) if (!cancelled) { fireEvent.mouseUp(element, options) diff --git a/packages/@headlessui-vue/src/test-utils/interactions.ts b/packages/@headlessui-vue/src/test-utils/interactions.ts index a2ca4c66f5..b1cd77a8b5 100644 --- a/packages/@headlessui-vue/src/test-utils/interactions.ts +++ b/packages/@headlessui-vue/src/test-utils/interactions.ts @@ -190,6 +190,10 @@ export async function click( if (!cancelled) { fireEvent.mouseDown(element, options) } + + // Ensure to trigger a `focus` event if the element is focusable + if ((element as HTMLElement)?.matches(focusableSelector)) fireEvent.focus(element, options) + fireEvent.pointerUp(element, options) if (!cancelled) { fireEvent.mouseUp(element, options)