diff --git a/src/__tests__/events.js b/src/__tests__/events.js index 587bfdae..7bb67475 100644 --- a/src/__tests__/events.js +++ b/src/__tests__/events.js @@ -1,5 +1,6 @@ import * as React from 'react' -import {render, fireEvent} from '../' +import * as ReactDOM from 'react-dom' +import {render, createEvent, fireEvent} from '../' const eventTypes = [ { @@ -254,3 +255,56 @@ test('blur/focus bubbles in react', () => { expect(handleFocus).toHaveBeenCalledTimes(1) expect(handleBubbledFocus).toHaveBeenCalledTimes(1) }) + +test.each([ + ['fireEvent.click', element => fireEvent.click(element)], + ['fireEvent()', element => fireEvent(element, createEvent.click(element))], +])( + 'discrete events are not wrapped in act when using %s', + (_, dispatchClick) => { + function AddDocumentClickListener({onClick}) { + React.useEffect(() => { + document.addEventListener('click', onClick) + return () => { + document.removeEventListener('click', onClick) + } + }, [onClick]) + return null + } + function Component({onDocumentClick}) { + const [open, setOpen] = React.useState(false) + + return ( + +