Verify transport geometry, playback states and themed icons across both engines
This commit is contained in:
@@ -4,6 +4,7 @@ import { mkdir, writeFile } from 'node:fs/promises';
|
||||
import { resolve } from 'node:path';
|
||||
import { chromium, webkit } from 'playwright';
|
||||
import { serve, layouts, themes, contextFor, appearance } from './ui-fixture.mjs';
|
||||
import {transportChecks,remoteTransportFixture} from './transport-fixture.mjs';
|
||||
|
||||
const args = process.argv.slice(2);
|
||||
const option = (key, fallback) => args.includes(key) ? args[args.indexOf(key)+1] : fallback;
|
||||
@@ -17,6 +18,7 @@ try {
|
||||
try {
|
||||
const context = await contextFor(browser,host.origin);
|
||||
const page = await context.newPage();
|
||||
const remote=await remoteTransportFixture(browser,host.origin,name);
|
||||
const errors = [];
|
||||
page.on('pageerror', e => errors.push(e.message));
|
||||
await page.goto(host.origin);
|
||||
@@ -85,9 +87,12 @@ try {
|
||||
});
|
||||
assert.deepEqual(states,{normal:['#media-download'],progress:['#media-progress'],done:['#media-offline']},`${name}/${layout}/${theme}: save states`);
|
||||
await page.evaluate(() => document.querySelector('#listPane').classList.remove('hidden'));
|
||||
results.push({browser:name,layout,theme,...measurements});
|
||||
const transport=await transportChecks(page,name,layout,theme);
|
||||
const remoteStates=await remote.check(layout,theme);
|
||||
results.push({browser:name,layout,theme,...measurements,transport,remoteStates});
|
||||
}
|
||||
assert.deepEqual(errors,[],'script errors');
|
||||
await remote.close();
|
||||
await context.close();
|
||||
} finally { await browser.close(); }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user