From 8b782d29cd709f855f370d11900462c8881862e0 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 30 Dec 2025 04:25:28 +0000
Subject: [PATCH 1/2] Initial plan
From 864bc57db67f705f6670570b351f0f53d75c96e1 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 30 Dec 2025 04:33:00 +0000
Subject: [PATCH 2/2] Add test isolation and flag transition tests
- Add beforeEach hook to Dialog.test.tsx to reset dialogScrollOptimizedCount module state
- Import __resetDialogScrollOptimizedCount from FeatureFlags
- Add test for flag value changing from false to true
- Add test for flag value changing from true to false
Co-authored-by: mattcosta7 <8616962+mattcosta7@users.noreply.github.com>
---
packages/react/src/Dialog/Dialog.test.tsx | 7 +++-
.../__tests__/FeatureFlags.test.tsx | 42 +++++++++++++++++++
2 files changed, 48 insertions(+), 1 deletion(-)
diff --git a/packages/react/src/Dialog/Dialog.test.tsx b/packages/react/src/Dialog/Dialog.test.tsx
index ad1a6477b20..3ce178375ab 100644
--- a/packages/react/src/Dialog/Dialog.test.tsx
+++ b/packages/react/src/Dialog/Dialog.test.tsx
@@ -1,14 +1,19 @@
import React from 'react'
import {render, fireEvent, waitFor} from '@testing-library/react'
-import {describe, expect, it, vi} from 'vitest'
+import {describe, expect, it, vi, beforeEach} from 'vitest'
import userEvent from '@testing-library/user-event'
import {Dialog} from './Dialog'
import {Button} from '../Button'
import {implementsClassName} from '../utils/testing'
import classes from './Dialog.module.css'
import {FeatureFlags} from '../FeatureFlags'
+import {__resetDialogScrollOptimizedCount} from '../FeatureFlags/FeatureFlags'
describe('Dialog', () => {
+ beforeEach(() => {
+ __resetDialogScrollOptimizedCount()
+ })
+
implementsClassName(Dialog, classes.Dialog)
it('renders with role "dialog" by default', () => {
const {getByRole} = render()
diff --git a/packages/react/src/FeatureFlags/__tests__/FeatureFlags.test.tsx b/packages/react/src/FeatureFlags/__tests__/FeatureFlags.test.tsx
index f09f5b4dd4e..035b43bf0eb 100644
--- a/packages/react/src/FeatureFlags/__tests__/FeatureFlags.test.tsx
+++ b/packages/react/src/FeatureFlags/__tests__/FeatureFlags.test.tsx
@@ -189,5 +189,47 @@ describe('FeatureFlags', () => {
unmount3()
expect(document.body.hasAttribute('data-dialog-scroll-optimized')).toBe(false)
})
+
+ it('should handle flag value changing from false to true', () => {
+ const {rerender, unmount} = render(
+
+ Content
+ ,
+ )
+
+ expect(document.body.hasAttribute('data-dialog-scroll-optimized')).toBe(false)
+
+ rerender(
+
+ Content
+ ,
+ )
+
+ expect(document.body.hasAttribute('data-dialog-scroll-optimized')).toBe(true)
+
+ unmount()
+ expect(document.body.hasAttribute('data-dialog-scroll-optimized')).toBe(false)
+ })
+
+ it('should handle flag value changing from true to false', () => {
+ const {rerender, unmount} = render(
+
+ Content
+ ,
+ )
+
+ expect(document.body.hasAttribute('data-dialog-scroll-optimized')).toBe(true)
+
+ rerender(
+
+ Content
+ ,
+ )
+
+ expect(document.body.hasAttribute('data-dialog-scroll-optimized')).toBe(false)
+
+ unmount()
+ expect(document.body.hasAttribute('data-dialog-scroll-optimized')).toBe(false)
+ })
})
})