rename stuff

pull/8577/head
gtmnayan 3 years ago
parent 7cae8f06f0
commit 2ff0743247

@ -331,67 +331,3 @@ export function prettyPrintPuppeteerAssertionError(message) {
assert.equal(match[1], match[2]);
}
}
/**
*
* @param {() => Promise<import ('puppeteer').Browser>} fn
* @param {number} maxAttempts
* @param {number} interval
* @returns {Promise<import ('puppeteer').Browser>}
*/
export async function retryAsync(fn, maxAttempts = 3, interval = 1000) {
let attempts = 0;
while (attempts <= maxAttempts) {
try {
return await fn();
} catch (err) {
if (++attempts >= maxAttempts) throw err;
await new Promise((resolve) => setTimeout(resolve, interval));
}
}
}
/**
* NOTE: Chromium may exit with SIGSEGV, so retry in that case
* @param {import ('puppeteer').Browser} browser
* @param {() => Promise<import ('puppeteer').Browser>} launchPuppeteer
* @param {() => void} additionalAssertion
* @param {(err: Error) => void} onError
* @returns {Promise<import ('puppeteer').Browser>}
*/
export async function executeBrowserTest(browser, launchPuppeteer, additionalAssertion, onError) {
let count = 0;
do {
count++;
try {
const page = await browser.newPage();
page.on('console', (type) => {
console[type.type()](type.text());
});
page.on('pageerror', (error) => {
console.log('>>> an error happened');
console.error(error);
});
await page.goto('http://localhost:6789');
const result = await page.evaluate(() => {
// @ts-ignore -- It runs in browser context.
return test(document.querySelector('main'));
});
if (result) console.log(result);
additionalAssertion();
await page.close();
break;
} catch (err) {
if (count === 5 || browser.isConnected()) {
onError(err);
throw err;
}
console.debug(err.stack || err);
console.log('RESTARTING Chromium...');
browser = await launchPuppeteer();
}
} while (count <= 5);
return browser;
}

@ -15,13 +15,13 @@ const index = path.resolve('index.mjs');
const assert = fs.readFileSync(`${__dirname}/assert.js`, 'utf-8');
describe('runtime (puppeteer)', () => {
describe('runtime (playwright)', () => {
before(async () => {
svelte = loadSvelte(false);
console.log('[runtime-puppeteer] Loaded Svelte');
console.log('[runtime-playwright] Loaded Svelte');
browser = await chromium.launch();
console.log('[runtime-puppeteer] Launched puppeteer browser');
console.log('[runtime-playwright] Launchedplaywrightr browser');
});
after(async () => {
@ -57,7 +57,7 @@ describe('runtime (puppeteer)', () => {
input: 'main',
plugins: [
{
name: 'testing-runtime-puppeteer',
name: 'testing-runtime-playwright',
resolveId(importee) {
if (importee === 'svelte/internal' || importee === './internal') {
return internal;

@ -1,4 +1,4 @@
// A puppeteer test because JSDOM doesn't support contenteditable
// A playwright test because JSDOM doesn't support contenteditable
export default {
html: '<div contenteditable="false"></div>',

@ -1,4 +1,4 @@
// A puppeteer test because JSDOM doesn't support contenteditable
// A playwright test because JSDOM doesn't support contenteditable
export default {
html: '<div contenteditable="true"></div>',
ssrHtml: '<div contenteditable=""></div>',

@ -1,4 +1,4 @@
// A puppeteer test because JSDOM doesn't support contenteditable
// A playwright test because JSDOM doesn't support contenteditable
export default {
html: '<div contenteditable=""></div>',

Loading…
Cancel
Save