) => {
removeAttr(comparisonEnd, 'style');
};
+ const withSkippedItems = osOptions || isFastTestRun;
+
if (osOptions) {
osInstance.options(osOptions);
-
- await iterateMinMax(async () => {
- await iterateBoxSizing(async () => {
- await iterateHeight(async () => {
- await iterateWidth(async () => {
- await iterateBorder(async () => {
- await iteratePadding(async () => {
- await iterateOverflow();
- }, ['paddingLarge']);
- }, ['borderSmall']);
- }, ['widthHundred']);
- }, ['heightHundred']);
- });
- });
- } else {
- await iterateMinMax(async () => {
- await iterateBoxSizing(async () => {
- await iterateHeight(async () => {
- await iterateWidth(async () => {
- await iterateBorder(async () => {
- // assume this part isn't critical
- /*
- await iterateFloat(async () => {
- await iterateMargin();
- });
- */
-
- await iteratePadding(async () => {
- await iterateOverflow();
- });
- await iterateDirection();
- });
- });
- });
- });
- });
}
+
+ await iterateMinMax(async () => {
+ await iterateBoxSizing(async () => {
+ await iterateHeight(async () => {
+ await iterateWidth(async () => {
+ await iterateBorder(async () => {
+ // assume this part isn't critical
+ // await iterateFloat(async () => {
+ // await iterateMargin();
+ // });
+ await iteratePadding(async () => {
+ await iterateOverflow();
+ }, withSkippedItems && ['paddingLarge']);
+
+ // assume this part isn't critical for special options
+ if (!osOptions) {
+ await iterateDirection();
+ }
+ }, withSkippedItems && ['borderSmall']);
+ }, withSkippedItems && ['widthHundred']);
+ }, withSkippedItems && ['heightHundred']);
+ });
+ });
};
const start = async () => {
@@ -812,17 +818,28 @@ const start = async () => {
target?.removeAttribute('style');
try {
await overflowTest();
+
+ osInstance.options({ paddingAbsolute: !initialPaddingAbsolute });
+
+ await overflowTest();
+
+ osInstance.options({ paddingAbsolute: initialPaddingAbsolute });
+
await overflowTest({ overflow: { x: 'visible', y: 'visible' } });
- await overflowTest({ overflow: { x: 'visible-scroll', y: 'visible-hidden' } });
- await overflowTest({ overflow: { x: 'visible-hidden', y: 'hidden' } });
- await overflowTest({ overflow: { x: 'visible', y: 'visible-scroll' } });
- await overflowTest({ overflow: { x: 'scroll', y: 'visible-scroll' } });
await overflowTest({ overflow: { x: 'hidden', y: 'scroll' } });
- await overflowTest({ overflow: { x: 'scroll', y: 'hidden' } });
- await overflowTest({ overflow: { x: 'visible', y: 'scroll' } });
- await overflowTest({ overflow: { x: 'scroll', y: 'visible' } });
- await overflowTest({ overflow: { x: 'visible', y: 'hidden' } });
- await overflowTest({ overflow: { x: 'hidden', y: 'visible' } });
+ await overflowTest({ overflow: { x: 'visible-hidden', y: 'scroll' } });
+ await overflowTest({ overflow: { x: 'visible-scroll', y: 'visible-hidden' } });
+
+ if (!isFastTestRun) {
+ await overflowTest({ overflow: { x: 'hidden', y: 'visible' } });
+ await overflowTest({ overflow: { x: 'visible', y: 'scroll' } });
+ await overflowTest({ overflow: { x: 'visible-hidden', y: 'hidden' } });
+ await overflowTest({ overflow: { x: 'visible', y: 'visible-scroll' } });
+ await overflowTest({ overflow: { x: 'scroll', y: 'visible-scroll' } });
+ await overflowTest({ overflow: { x: 'scroll', y: 'hidden' } });
+ await overflowTest({ overflow: { x: 'scroll', y: 'visible' } });
+ await overflowTest({ overflow: { x: 'visible', y: 'hidden' } });
+ }
} catch (e) {
console.log(e);
}
@@ -842,10 +859,3 @@ if (!useContentElement) {
appendChildren(comparison, comparisonContentElm);
appendChildren(comparisonContentElm, elms);
}
-
-if (paddingAbsolute) {
- const absoluteWrapper = createDiv(classNameViewport);
- appendChildren(absoluteWrapper, contents(comparison));
-
- appendChildren(comparison, absoluteWrapper);
-}
diff --git a/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.html b/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.html
index 0e87d7f..00fe807 100644
--- a/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.html
+++ b/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.html
@@ -1,4 +1,5 @@
+
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 da0f89c..70da511 100644
--- a/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.test.ts
+++ b/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.test.ts
@@ -3,12 +3,17 @@ import { test, Page } from '@playwright/test';
playwrightRollup();
-test.describe('StructureSetup.update', () => {
- [false].forEach((targetIsViewport) => {
+const createTests = (fast?: boolean) => {
+ [false, true].forEach((targetIsViewport) => {
const isOrIsNot = targetIsViewport ? 'is' : 'is not';
const setTargetIsVp = async (page: Page) => {
if (targetIsViewport) {
- await page.click('#tvp');
+ await page.click('#vpt');
+ }
+ };
+ const setFast = async (page: Page) => {
+ if (fast || targetIsViewport) {
+ await page.click('#fast');
}
};
@@ -21,20 +26,20 @@ test.describe('StructureSetup.update', () => {
}
};
+ test.beforeEach(async ({ page }) => {
+ await setFast(page);
+ await setTargetIsVp(page);
+ await nsh(page);
+ });
+
test.describe(`${withText} native scrollbar styling`, () => {
- test.describe.configure({ mode: 'parallel' });
+ // test.describe.configure({ mode: 'parallel' });
test('default', async ({ page }) => {
- await setTargetIsVp(page);
- await nsh(page);
-
await expectSuccess(page);
});
test('with fully overlaid scrollbars', async ({ page }) => {
- await setTargetIsVp(page);
- await nsh(page);
-
await page.click('#fo');
await expectSuccess(page);
@@ -46,18 +51,12 @@ test.describe('StructureSetup.update', () => {
"firefox can't simulate partially overlaid scrollbars, boost speed by omitting webkit"
);
- await setTargetIsVp(page);
- await nsh(page);
-
await page.click('#po');
await expectSuccess(page);
});
test('without flexbox glue & css custom props', async ({ page }) => {
- await setTargetIsVp(page);
- await nsh(page);
-
await page.click('#fbg');
await page.click('#ccp');
@@ -67,4 +66,12 @@ test.describe('StructureSetup.update', () => {
});
});
});
+};
+
+test.describe('StructureSetup.update @special', () => {
+ createTests();
+});
+
+test.describe('StructureSetup.update', () => {
+ createTests(true);
});