diff --git a/core/src/components/popover/animations/ios.enter.ts b/core/src/components/popover/animations/ios.enter.ts index f30364b7a4d..7af32a978e8 100644 --- a/core/src/components/popover/animations/ios.enter.ts +++ b/core/src/components/popover/animations/ios.enter.ts @@ -30,7 +30,7 @@ export const iosEnterAnimation = (baseEl: HTMLElement, opts?: any): Animation => originY: 'top' } - const results = getPopoverPosition(isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, trigger, ev); + const results = getPopoverPosition(isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, size, trigger, ev); const padding = size === 'cover' ? 0 : POPOVER_IOS_BODY_PADDING; const margin = size === 'cover' ? 0 : 25; diff --git a/core/src/components/popover/animations/md.enter.ts b/core/src/components/popover/animations/md.enter.ts index 04c503676a8..2555be804d7 100644 --- a/core/src/components/popover/animations/md.enter.ts +++ b/core/src/components/popover/animations/md.enter.ts @@ -29,7 +29,7 @@ export const mdEnterAnimation = (baseEl: HTMLElement, opts?: any): Animation => originY: 'top' } - const results = getPopoverPosition(isRTL, contentWidth, contentHeight, 0, 0, reference, side, align, defaultPosition, trigger, ev); + const results = getPopoverPosition(isRTL, contentWidth, contentHeight, 0, 0, reference, side, align, defaultPosition, size, trigger, ev); const padding = size === 'cover' ? 0 : POPOVER_MD_BODY_PADDING; diff --git a/core/src/components/popover/test/arrow/e2e.ts b/core/src/components/popover/test/arrow/e2e.ts index 3d5c7fdbad4..959963872ad 100644 --- a/core/src/components/popover/test/arrow/e2e.ts +++ b/core/src/components/popover/test/arrow/e2e.ts @@ -1,44 +1,37 @@ import { newE2EPage } from '@stencil/core/testing'; -test('popover - arrow side: top', async () => { - await testPopover('top', false); -}); - -test('popover - arrow side: right', async () => { - await testPopover('right', false); -}); - -test('popover - arrow side: bottom', async () => { - await testPopover('bottom', false); -}); - -test('popover - arrow side: left', async () => { - await testPopover('left', false); -}); - -test('popover - arrow side: start', async () => { - await testPopover('start'), false; -}); - -test('popover - arrow side: end', async () => { - await testPopover('end', false); -}); - -test('popover - arrow side: start, rtl', async () => { - await testPopover('start', false, true); -}); - -test('popover - arrow side: end, rtl', async () => { - await testPopover('end', false, true); -}); - +const popoverNames = [ + 'top-auto', + 'right-auto', + 'bottom-auto', + 'left-auto', + 'start-auto', + 'end-auto', + 'bottom-auto-center', + 'bottom-auto-end', + 'top-cover', + 'right-cover', + 'bottom-cover', + 'left-cover', + 'start-cover', + 'end-cover', + 'bottom-cover-center', + 'bottom-cover-end' +]; + +for (const popoverName of popoverNames) { + test(`popover - arrow - ${popoverName}`, async () => { + await testPopover(popoverName, false); + await testPopover(popoverName, true); + }); +} -const testPopover = async (side, isRTL = false) => { +const testPopover = async (popoverName, isRTL = false) => { const rtl = isRTL ? '&rtl=true' : ''; const page = await newE2EPage({ url: `/src/components/popover/test/arrow?ionic:_testing=true${rtl}` }); - const POPOVER_CLASS = `${side}-popover`; - const TRIGGER_ID = `${side}-trigger`; + const POPOVER_CLASS = `${popoverName}-popover`; + const TRIGGER_ID = `${popoverName}-trigger`; const screenshotCompares = []; const trigger = await page.find(`#${TRIGGER_ID}`); diff --git a/core/src/components/popover/test/arrow/index.html b/core/src/components/popover/test/arrow/index.html index 1b5fa134378..dd92276a51e 100644 --- a/core/src/components/popover/test/arrow/index.html +++ b/core/src/components/popover/test/arrow/index.html @@ -11,13 +11,18 @@