From 039979174a645884e2b31112015ef84888809059 Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann Date: Mon, 11 May 2020 19:35:12 +0200 Subject: [PATCH 1/2] [test] Add tests for deleted nodes --- .../ClickAwayListener.test.js | 48 ++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/packages/material-ui/src/ClickAwayListener/ClickAwayListener.test.js b/packages/material-ui/src/ClickAwayListener/ClickAwayListener.test.js index 4d4cc77133cef5..e1f8964d9b00a4 100644 --- a/packages/material-ui/src/ClickAwayListener/ClickAwayListener.test.js +++ b/packages/material-ui/src/ClickAwayListener/ClickAwayListener.test.js @@ -1,7 +1,7 @@ import * as React from 'react'; import { expect } from 'chai'; import { spy } from 'sinon'; -import { createClientRender, fireEvent } from 'test/utils/createClientRender'; +import { createClientRender, fireEvent, screen } from 'test/utils/createClientRender'; import Portal from '../Portal'; import ClickAwayListener from './ClickAwayListener'; @@ -219,4 +219,50 @@ describe('', () => { fireEvent.click(document.body); expect(handleClickAway.callCount).to.equal(0); }); + + [ + ['onClick', false], + ['onClick', true], + ['onClickCapture', false], + ['onClickCapture', true], + ].forEach(([eventName, disableReactTree]) => { + it(`when 'disableRectTree=${disableReactTree}' ${eventName} triggers onClickAway if an outside target is removed`, () => { + const handleClickAway = spy(); + function Test() { + const [buttonShown, hideButton] = React.useReducer(() => false, true); + + return ( + + {buttonShown &&