From 501f3ed279b4cf45523f2ce5ea12e2e3a60d093a Mon Sep 17 00:00:00 2001 From: sai6855 Date: Tue, 4 Feb 2025 00:03:44 +0530 Subject: [PATCH 1/3] [material-ui][SwitchBase] Fix spreading of `handlers` in getSlotProps --- packages/mui-material/src/internal/SwitchBase.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/mui-material/src/internal/SwitchBase.js b/packages/mui-material/src/internal/SwitchBase.js index d9468ded76f850..f6054d4a187a94 100644 --- a/packages/mui-material/src/internal/SwitchBase.js +++ b/packages/mui-material/src/internal/SwitchBase.js @@ -212,6 +212,7 @@ const SwitchBase = React.forwardRef(function SwitchBase(props, ref) { className: classes.input, externalForwardedProps, getSlotProps: (handlers) => ({ + ...handlers, onChange: (event) => { handlers.onChange?.(event); handleInputChange(event); From 0ae4df4131bfae3ee41963d72caa46f7deb2a8ba Mon Sep 17 00:00:00 2001 From: sai6855 Date: Tue, 4 Feb 2025 20:33:55 +0530 Subject: [PATCH 2/3] add test --- .../src/internal/SwitchBase.test.js | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/packages/mui-material/src/internal/SwitchBase.test.js b/packages/mui-material/src/internal/SwitchBase.test.js index 25d7e1a0bd8482..303e49bac1b679 100644 --- a/packages/mui-material/src/internal/SwitchBase.test.js +++ b/packages/mui-material/src/internal/SwitchBase.test.js @@ -479,4 +479,31 @@ describe('', () => { expect(getByRole('checkbox')).to.have.property('value', 'red'); }); }); + + it('should call event handlers in slotProps when provided', () => { + const rootOnClick = spy(); + const inputOnClick = spy(); + const { getByRole } = render( + , + ); + + act(() => { + getByRole('checkbox').click(); + }); + + expect(rootOnClick.callCount).to.equal(1); + expect(inputOnClick.callCount).to.equal(1); + }); }); From 3762e5a1c721985e0cc1341cd9b1603fe1aa9031 Mon Sep 17 00:00:00 2001 From: sai6855 Date: Tue, 4 Feb 2025 20:53:19 +0530 Subject: [PATCH 3/3] trigger ci