improve playwright update test

This commit is contained in:
Rene Haas
2022-08-19 12:57:49 +02:00
parent d35bb4920c
commit a6b40e0231
3 changed files with 28 additions and 11 deletions
@@ -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,
}
);
}
@@ -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);
});