From 120515028839a27a3c704292d3b6959e00ee8dad Mon Sep 17 00:00:00 2001 From: Cody Bennett <23324155+CodyJasonBennett@users.noreply.github.com> Date: Tue, 11 Oct 2022 04:38:01 -0500 Subject: [PATCH] chore(tests): add pierced props invalidation case --- packages/fiber/tests/core/renderer.test.tsx | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/packages/fiber/tests/core/renderer.test.tsx b/packages/fiber/tests/core/renderer.test.tsx index e742c6d2c3..ac0e55eff0 100644 --- a/packages/fiber/tests/core/renderer.test.tsx +++ b/packages/fiber/tests/core/renderer.test.tsx @@ -762,4 +762,26 @@ describe('renderer', () => { expect(groupHandle).toBeDefined() expect(prevUUID).not.toBe(groupHandle!.uuid) }) + + it('invalidates pierced props when root is changed', async () => { + const material = React.createRef() + const texture1 = { needsUpdate: false, name: '' } as THREE.Texture + const texture2 = { needsUpdate: false, name: '' } as THREE.Texture + + await act(async () => + root.render(), + ) + + expect(material.current!.map).toBe(texture1) + expect(texture1.needsUpdate).toBe(true) + expect(texture1.name).toBe('test') + + await act(async () => + root.render(), + ) + + expect(material.current!.map).toBe(texture2) + expect(texture2.needsUpdate).toBe(true) + expect(texture2.name).toBe('test') + }) })