Skip to content

Commit

Permalink
added warning check on browser tests
Browse files Browse the repository at this point in the history
  • Loading branch information
liabru committed Jan 17, 2021
1 parent 1e73cab commit 12377cc
Showing 1 changed file with 26 additions and 5 deletions.
31 changes: 26 additions & 5 deletions test/Browser.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,16 @@ if (!fs.existsSync(browserPath)) {
// Set up the environment and run examples
beforeAll(async () => results = await runExamplesBrowser(totalUpdates));

it('all examples run without throwing error', () => {
it('all examples run without throwing error or warning', () => {
if (results.error) {
console.error(results.error);
expect(!results.error).toBe(true);
} else {
expect(Boolean(results.error)).toBe(false);
}
if (results.warns) {
console.error(results.warns);
expect(results.warns.size).toBe(0);
}
if (!results.error && !results.warns) {
for (const example of examples) {
expect(results[example].id).toBe(example);
expect(results[example].timestamp).toBeGreaterThan(0);
Expand All @@ -49,15 +54,29 @@ const runExamplesBrowser = async updates => {
const browser = await puppeteer.launch({ executablePath: browserPath });
const page = await browser.newPage();
const results = {};
let example;

// Load local demo page and catch errors
let pageError;
let pageWarns;

const onPageError = error => pageError = error;
const onPageConsole = async message => {
const type = message.type();
if (example && type === 'error' || type === 'warning') {
const log = `[${example}] ${message.type()} ${message.text()}`;
pageWarns = pageWarns || new Set();
pageWarns.add(log);
}
}

page.addListener('pageerror', onPageError);
page.addListener('console', onPageConsole);

await page.goto(demoPagePath).catch(onPageError);

// For every example
for (const example of examples) {
for (example of examples) {
// Bail on error
if (pageError) {
break;
Expand Down Expand Up @@ -93,5 +112,7 @@ const runExamplesBrowser = async updates => {
// Tear down
await browser.close();

return pageError ? { error: pageError } : results;
results.error = pageError;
results.warns = pageWarns;
return results;
};

0 comments on commit 12377cc

Please sign in to comment.