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

@ -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 = `
<body>
<main></main>
<script src='/bundle.js'></script>
</body>
`;
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('<main></main>');
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);
}

@ -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) {

Loading…
Cancel
Save