diff --git a/packages/@headlessui-react/src/components/menu/menu.test.tsx b/packages/@headlessui-react/src/components/menu/menu.test.tsx index e124410..9733e95 100644 --- a/packages/@headlessui-react/src/components/menu/menu.test.tsx +++ b/packages/@headlessui-react/src/components/menu/menu.test.tsx @@ -27,6 +27,8 @@ import { Keys, } from '../../test-utils/interactions' +jest.mock('../../hooks/use-id') + function getMenuButton(): HTMLElement | null { // This is just an assumption for our tests. We assume that we only have 1 button. And if we have // more, than we assume that it is the first one. diff --git a/packages/@headlessui-react/src/hooks/__mocks__/use-id.ts b/packages/@headlessui-react/src/hooks/__mocks__/use-id.ts new file mode 100644 index 0000000..aa77080 --- /dev/null +++ b/packages/@headlessui-react/src/hooks/__mocks__/use-id.ts @@ -0,0 +1,15 @@ +import * as React from 'react' + +beforeEach(() => { + id = 0 +}) + +let id = 0 +function generateId() { + return ++id +} + +export function useId() { + const [id] = React.useState(generateId) + return id +} diff --git a/packages/@headlessui-react/src/hooks/use-id.ts b/packages/@headlessui-react/src/hooks/use-id.ts index 938d092..b9b26a0 100644 --- a/packages/@headlessui-react/src/hooks/use-id.ts +++ b/packages/@headlessui-react/src/hooks/use-id.ts @@ -1,13 +1,5 @@ import * as React from 'react' -if (process.env.NODE_ENV === 'test') { - if (process.env.JEST_WORKER_ID !== undefined) { - beforeEach(() => { - id = 0 - }) - } -} - let id = 0 function generateId() { return ++id diff --git a/packages/@headlessui-vue/src/components/menu/menu.test.tsx b/packages/@headlessui-vue/src/components/menu/menu.test.tsx index 3e50d75..78ee96a 100644 --- a/packages/@headlessui-vue/src/components/menu/menu.test.tsx +++ b/packages/@headlessui-vue/src/components/menu/menu.test.tsx @@ -26,6 +26,8 @@ import { word, } from '../../test-utils/interactions' +jest.mock('../../hooks/use-id') + function renderTemplate(input: string | Partial[0]>) { const defaultComponents = { Menu, MenuButton, MenuItems, MenuItem } diff --git a/packages/@headlessui-vue/src/hooks/__mocks__/use-id.ts b/packages/@headlessui-vue/src/hooks/__mocks__/use-id.ts new file mode 100644 index 0000000..503dfc5 --- /dev/null +++ b/packages/@headlessui-vue/src/hooks/__mocks__/use-id.ts @@ -0,0 +1,12 @@ +beforeEach(() => { + id = 0 +}) + +let id = 0 +function generateId() { + return ++id +} + +export function useId() { + return generateId() +} diff --git a/packages/@headlessui-vue/src/hooks/use-id.ts b/packages/@headlessui-vue/src/hooks/use-id.ts index f9425b0..2c6f6ef 100644 --- a/packages/@headlessui-vue/src/hooks/use-id.ts +++ b/packages/@headlessui-vue/src/hooks/use-id.ts @@ -1,11 +1,3 @@ -if (process.env.NODE_ENV === 'test') { - if (process.env.JEST_WORKER_ID !== undefined) { - beforeEach(() => { - id = 0 - }) - } -} - let id = 0 function generateId() { return ++id