diff --git a/local/config/src/playwright.js b/local/config/src/playwright.js index da4eba2..542ed3f 100644 --- a/local/config/src/playwright.js +++ b/local/config/src/playwright.js @@ -5,7 +5,9 @@ module.exports = { timeout: 10 * 60 * 2000, navigationTimeout: 1000, retries: 0, + maxFailures: 0, workers: 4, + fullyParallel: true, projects: [ { name: 'Chromium', diff --git a/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.browser.ts b/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.browser.ts index 156fd84..2ab6f9b 100644 --- a/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.browser.ts +++ b/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.browser.ts @@ -131,7 +131,7 @@ const initObj = hasClass(document.body, 'vpt') ? { target: target!, elements: { - viewport: target!, + viewport: OverlayScrollbars.env().scrollbarsHiding && target!, content: useContentElement, }, } @@ -844,6 +844,8 @@ const start = async () => { setTestResult(true); } catch (e: any) { + const { scrollbarsSize, scrollbarsOverlaid, scrollbarsHiding, rtlScrollBehavior, flexboxGlue } = + OverlayScrollbars.env(); console.error( e.message, { @@ -853,7 +855,16 @@ const start = async () => { }, { updateCount, - info: targetOptionsSlot!.textContent, + env: { + scrollbarsSize, + scrollbarsOverlaid, + scrollbarsHiding, + rtlScrollBehavior, + flexboxGlue, + }, + opts: targetOptionsSlot!.textContent, + flags: document.body.getAttribute('class'), + devicePixelRatio: window.devicePixelRatio, } ); } diff --git a/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.test.ts b/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.test.ts index 70da511..e102e5e 100644 --- a/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.test.ts +++ b/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.test.ts @@ -3,38 +3,42 @@ import { test, Page } from '@playwright/test'; playwrightRollup(); +test.describe.configure({ mode: 'parallel' }); + const createTests = (fast?: boolean) => { - [false, true].forEach((targetIsViewport) => { - const isOrIsNot = targetIsViewport ? 'is' : 'is not'; + [false, true].forEach((viewportIsTarget) => { + const isOrIsNot = viewportIsTarget ? 'is' : 'is not'; const setTargetIsVp = async (page: Page) => { - if (targetIsViewport) { + if (viewportIsTarget) { await page.click('#vpt'); } }; const setFast = async (page: Page) => { - if (fast || targetIsViewport) { + if (fast || viewportIsTarget) { await page.click('#fast'); } }; test.describe(`target ${isOrIsNot} viewport`, () => { - [false, true].forEach((nativeScrollbarStyling) => { - const withText = nativeScrollbarStyling ? 'with' : 'without'; + [false, true].forEach((nativeScrollbarHiding) => { + const withText = nativeScrollbarHiding ? 'with' : 'without'; const nsh = async (page: Page) => { - if (!nativeScrollbarStyling) { + if (!nativeScrollbarHiding) { await page.click('#nsh'); } }; test.beforeEach(async ({ page }) => { + test.skip( + !nativeScrollbarHiding && viewportIsTarget, + 'Viewport is target should only be initialized when nativeScrollbarHiding is supported.' + ); await setFast(page); await setTargetIsVp(page); await nsh(page); }); test.describe(`${withText} native scrollbar styling`, () => { - // test.describe.configure({ mode: 'parallel' }); - test('default', async ({ page }) => { await expectSuccess(page); });