From 7cae8f06f0bd691e595594d115117c947b47b5dd Mon Sep 17 00:00:00 2001 From: gtmnayan Date: Wed, 10 May 2023 22:57:10 +0545 Subject: [PATCH] ... --- test/runtime-puppeteer/index.js | 77 ++++++++++----------------------- test/test.js | 2 +- 2 files changed, 24 insertions(+), 55 deletions(-) diff --git a/test/runtime-puppeteer/index.js b/test/runtime-puppeteer/index.js index fe3e91b598..9d60650a7f 100644 --- a/test/runtime-puppeteer/index.js +++ b/test/runtime-puppeteer/index.js @@ -1,73 +1,30 @@ -import * as path from 'path'; +import virtual from '@rollup/plugin-virtual'; import * as fs from 'fs'; -import * as http from 'http'; +import * as path from 'path'; import { rollup } from 'rollup'; -import virtual from '@rollup/plugin-virtual'; -import puppeteer from 'puppeteer'; - -import { - loadConfig, - loadSvelte, - mkdirp, - prettyPrintPuppeteerAssertionError, - retryAsync, - executeBrowserTest -} from '../helpers'; -import { deepEqual } from 'assert'; -const page = ` - -
- - -`; +import { chromium } from '@playwright/test'; +import { deepEqual } from 'assert'; +import { loadConfig, loadSvelte, mkdirp, prettyPrintPuppeteerAssertionError } from '../helpers'; let svelte; -let server; -let code; let browser; const internal = path.resolve('internal/index.mjs'); const index = path.resolve('index.mjs'); -function create_server() { - return new Promise((fulfil, reject) => { - const server = http.createServer((req, res) => { - if (req.url === '/') { - res.end(page); - } - - if (req.url === '/bundle.js') { - res.end(code); - } - }); - - server.on('error', reject); - - server.listen('6789', () => { - fulfil(server); - }); - }); -} - -async function launchPuppeteer() { - return await retryAsync(() => puppeteer.launch()); -} - const assert = fs.readFileSync(`${__dirname}/assert.js`, 'utf-8'); describe('runtime (puppeteer)', () => { before(async () => { svelte = loadSvelte(false); console.log('[runtime-puppeteer] Loaded Svelte'); - server = await create_server(); - console.log('[runtime-puppeteer] Started server'); - browser = await launchPuppeteer(); + + browser = await chromium.launch(); console.log('[runtime-puppeteer] Launched puppeteer browser'); }); after(async () => { - if (server) server.close(); if (browser) await browser.close(); }); @@ -221,8 +178,7 @@ describe('runtime (puppeteer)', () => { ] }); - const result = await bundle.generate({ format: 'iife', name: 'test' }); - code = result.output[0].code; + const generated_bundle = await bundle.generate({ format: 'iife', name: 'test' }); function assertWarnings() { if (config.warnings) { @@ -243,11 +199,24 @@ describe('runtime (puppeteer)', () => { } } - browser = await executeBrowserTest(browser, launchPuppeteer, assertWarnings, (err) => { + try { + const page = await browser.newPage(); + page.on('console', (type) => { + console[type.type()](type.text()); + }); + await page.setContent('
'); + await page.evaluate(generated_bundle.output[0].code); + const test_result = await page.evaluate(`test(document.querySelector('main'))`); + + if (test_result) console.log(test_result); + assertWarnings(); + await page.close(); + } catch (err) { failed.add(dir); prettyPrintPuppeteerAssertionError(err.message); assertWarnings(); - }); + throw err; + } } ).timeout(is_first_run ? 20000 : 10000); } diff --git a/test/test.js b/test/test.js index 34adba7e00..b6998943c2 100644 --- a/test/test.js +++ b/test/test.js @@ -9,7 +9,7 @@ require('../internal'); console.clear(); const test_folders = glob('*/index.js', { cwd: 'test' }); -const solo_folders = test_folders.filter((folder) => /(puppeteer)/.test(folder)); +const solo_folders = test_folders.filter((folder) => /\.solo/.test(folder)); if (solo_folders.length) { if (process.env.CI) {