From 56561a3e1757a8de2914bdea1bc4a3c63f65d417 Mon Sep 17 00:00:00 2001 From: Matt Perry Date: Fri, 29 Oct 2021 14:59:11 +0200 Subject: [PATCH] Adding test for enterBeforeExit and no exit animations (#1315) Co-authored-by: Matt --- .../__tests__/AnimatePresence.test.tsx | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/components/AnimatePresence/__tests__/AnimatePresence.test.tsx b/src/components/AnimatePresence/__tests__/AnimatePresence.test.tsx index 45001c8d4..5719dbe66 100644 --- a/src/components/AnimatePresence/__tests__/AnimatePresence.test.tsx +++ b/src/components/AnimatePresence/__tests__/AnimatePresence.test.tsx @@ -336,6 +336,37 @@ describe("AnimatePresence", () => { return await expect(promise).resolves.toBe(1) }) + test("Immediately remove child if no exit animations defined", async () => { + const promise = new Promise((resolve) => { + const Component = ({ i }: { i: number }) => { + return ( + + + + ) + } + + const { rerender, getByTestId } = render() + rerender() + setTimeout(() => { + rerender() + rerender() + }, 50) + setTimeout(() => { + rerender() + rerender() + resolve(getByTestId("2")) + }, 150) + }) + + return await expect(promise).resolves.toBeTruthy() + }) + test("Exit variants are triggered with `AnimatePresence.custom`, not that of the element.", async () => { const variants = { enter: { x: 0, transition: { type: false } },