From 22ce04fc888a50f03772a69c4add6e9f28818d01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jose=CC=81=20Rio?= Date: Wed, 16 Jul 2025 14:53:42 +0100 Subject: [PATCH] fix(overlay): remove unneeded tests --- core/src/utils/test/overlays/overlays.spec.ts | 263 ------------------ 1 file changed, 263 deletions(-) delete mode 100644 core/src/utils/test/overlays/overlays.spec.ts diff --git a/core/src/utils/test/overlays/overlays.spec.ts b/core/src/utils/test/overlays/overlays.spec.ts deleted file mode 100644 index 29a77c3c26..0000000000 --- a/core/src/utils/test/overlays/overlays.spec.ts +++ /dev/null @@ -1,263 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; - -import { Modal } from '../../../components/modal/modal'; -import { Toast } from '../../../components/toast/toast'; -import { Nav } from '../../../components/nav/nav'; -import { RouterOutlet } from '../../../components/router-outlet/router-outlet'; -import { setRootAriaHidden } from '../../overlays'; - -describe('setRootAriaHidden()', () => { - it('should correctly remove and re-add router outlet from accessibility tree', async () => { - const page = await newSpecPage({ - components: [RouterOutlet], - html: ` - - `, - }); - - const routerOutlet = page.body.querySelector('ion-router-outlet')!; - - expect(routerOutlet.hasAttribute('aria-hidden')).toEqual(false); - - setRootAriaHidden(true); - expect(routerOutlet.hasAttribute('aria-hidden')).toEqual(true); - - setRootAriaHidden(false); - expect(routerOutlet.hasAttribute('aria-hidden')).toEqual(false); - }); - - it('should correctly remove and re-add nav from accessibility tree', async () => { - const page = await newSpecPage({ - components: [Nav], - html: ` - - `, - }); - - const nav = page.body.querySelector('ion-nav')!; - - expect(nav.hasAttribute('aria-hidden')).toEqual(false); - - setRootAriaHidden(true); - expect(nav.hasAttribute('aria-hidden')).toEqual(true); - - setRootAriaHidden(false); - expect(nav.hasAttribute('aria-hidden')).toEqual(false); - }); - - it('should correctly remove and re-add custom container from accessibility tree', async () => { - const page = await newSpecPage({ - components: [], - html: ` -
-
- `, - }); - - const containerRoot = page.body.querySelector('#ion-view-container-root')!; - const notContainerRoot = page.body.querySelector('#not-container-root')!; - - expect(containerRoot.hasAttribute('aria-hidden')).toEqual(false); - expect(notContainerRoot.hasAttribute('aria-hidden')).toEqual(false); - - setRootAriaHidden(true); - expect(containerRoot.hasAttribute('aria-hidden')).toEqual(true); - expect(notContainerRoot.hasAttribute('aria-hidden')).toEqual(false); - - setRootAriaHidden(false); - expect(containerRoot.hasAttribute('aria-hidden')).toEqual(false); - expect(notContainerRoot.hasAttribute('aria-hidden')).toEqual(false); - }); - - it('should not error if router outlet was not found', async () => { - await newSpecPage({ - components: [], - html: ` -
- `, - }); - - setRootAriaHidden(true); - }); - - it('should remove router-outlet from accessibility tree when overlay is presented', async () => { - const page = await newSpecPage({ - components: [RouterOutlet, Modal], - html: ` - - - - `, - }); - - const routerOutlet = page.body.querySelector('ion-router-outlet')!; - const modal = page.body.querySelector('ion-modal')!; - - await modal.present(); - - expect(routerOutlet.hasAttribute('aria-hidden')).toEqual(true); - }); - - it('should add router-outlet from accessibility tree when then final overlay is dismissed', async () => { - const page = await newSpecPage({ - components: [RouterOutlet, Modal], - html: ` - - - - - `, - }); - - const routerOutlet = page.body.querySelector('ion-router-outlet')!; - const modalOne = page.body.querySelector('ion-modal#one')!; - const modalTwo = page.body.querySelector('ion-modal#two')!; - - await modalOne.present(); - - expect(routerOutlet.hasAttribute('aria-hidden')).toEqual(true); - - await modalTwo.present(); - - expect(routerOutlet.hasAttribute('aria-hidden')).toEqual(true); - - await modalOne.dismiss(); - - expect(routerOutlet.hasAttribute('aria-hidden')).toEqual(true); - - await modalTwo.dismiss(); - - expect(routerOutlet.hasAttribute('aria-hidden')).toEqual(false); - }); -}); - -describe('aria-hidden on individual overlays', () => { - it('should hide non-topmost overlays from screen readers', async () => { - const page = await newSpecPage({ - components: [Modal], - html: ` - - - `, - }); - - const modalOne = page.body.querySelector('ion-modal#one')!; - const modalTwo = page.body.querySelector('ion-modal#two')!; - - await modalOne.present(); - await modalTwo.present(); - - expect(modalOne.hasAttribute('aria-hidden')).toEqual(true); - expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false); - }); - - it('should unhide new topmost overlay from screen readers when topmost is dismissed', async () => { - const page = await newSpecPage({ - components: [Modal], - html: ` - - - `, - }); - - const modalOne = page.body.querySelector('ion-modal#one')!; - const modalTwo = page.body.querySelector('ion-modal#two')!; - - await modalOne.present(); - await modalTwo.present(); - - // dismiss modalTwo so that modalOne becomes the new topmost overlay - await modalTwo.dismiss(); - - expect(modalOne.hasAttribute('aria-hidden')).toEqual(false); - }); - - it('should not keep overlays hidden from screen readers if presented after being dismissed while non-topmost', async () => { - const page = await newSpecPage({ - components: [Modal], - html: ` - - - `, - }); - - const modalOne = page.body.querySelector('ion-modal#one')!; - const modalTwo = page.body.querySelector('ion-modal#two')!; - - await modalOne.present(); - await modalTwo.present(); - - // modalOne is not the topmost overlay at this point and is hidden from screen readers - await modalOne.dismiss(); - - // modalOne will become the topmost overlay; ensure it isn't still hidden from screen readers - await modalOne.present(); - expect(modalOne.hasAttribute('aria-hidden')).toEqual(false); - }); - - it('should not hide previous overlay if top-most overlay is toast', async () => { - const page = await newSpecPage({ - components: [Modal, Toast], - html: ` - - - - - `, - }); - - const modalOne = page.body.querySelector('ion-modal#m-one')!; - const modalTwo = page.body.querySelector('ion-modal#m-two')!; - const toastOne = page.body.querySelector('ion-toast#t-one')!; - const toastTwo = page.body.querySelector('ion-toast#t-two')!; - - await modalOne.present(); - await modalTwo.present(); - await toastOne.present(); - await toastTwo.present(); - - expect(modalOne.hasAttribute('aria-hidden')).toEqual(true); - expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false); - expect(toastOne.hasAttribute('aria-hidden')).toEqual(false); - expect(toastTwo.hasAttribute('aria-hidden')).toEqual(false); - - await toastTwo.dismiss(); - - expect(modalOne.hasAttribute('aria-hidden')).toEqual(true); - expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false); - expect(toastOne.hasAttribute('aria-hidden')).toEqual(false); - - await toastOne.dismiss(); - - expect(modalOne.hasAttribute('aria-hidden')).toEqual(true); - expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false); - }); - - it('should hide previous overlay even with a toast that is not the top-most overlay', async () => { - const page = await newSpecPage({ - components: [Modal, Toast], - html: ` - - - - `, - }); - - const modalOne = page.body.querySelector('ion-modal#m-one')!; - const modalTwo = page.body.querySelector('ion-modal#m-two')!; - const toastOne = page.body.querySelector('ion-toast#t-one')!; - - await modalOne.present(); - await toastOne.present(); - await modalTwo.present(); - - expect(modalOne.hasAttribute('aria-hidden')).toEqual(true); - expect(toastOne.hasAttribute('aria-hidden')).toEqual(true); - expect(modalTwo.hasAttribute('aria-hidden')).toEqual(false); - - await modalTwo.dismiss(); - - expect(modalOne.hasAttribute('aria-hidden')).toEqual(false); - expect(toastOne.hasAttribute('aria-hidden')).toEqual(false); - }); -});