From 7ecf5258d0072540092b1de7474ce9e3f040ecba Mon Sep 17 00:00:00 2001 From: eps1lon Date: Sat, 10 Apr 2021 09:49:59 +0200 Subject: [PATCH 1/5] test: current behavior of flushing updates from discrete events too late --- src/__tests__/events.js | 48 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/__tests__/events.js b/src/__tests__/events.js index 587bfdae..7d54c8bd 100644 --- a/src/__tests__/events.js +++ b/src/__tests__/events.js @@ -1,4 +1,5 @@ import * as React from 'react' +import * as ReactDOM from 'react-dom' import {render, fireEvent} from '../' const eventTypes = [ @@ -254,3 +255,50 @@ test('blur/focus bubbles in react', () => { expect(handleFocus).toHaveBeenCalledTimes(1) expect(handleBubbledFocus).toHaveBeenCalledTimes(1) }) + +test('discrete events are not wrapped in act', () => { + 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 ( + +