mirror of
https://github.com/zebrajr/react.git
synced 2025-12-06 12:20:20 +01:00
59 lines
1.3 KiB
JavaScript
59 lines
1.3 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
'use strict';
|
|
|
|
const {join} = require('path');
|
|
const puppeteer = require('puppeteer');
|
|
const theme = require('../theme');
|
|
const {logPromise} = require('../utils');
|
|
|
|
const validate = async ({cwd}) => {
|
|
const browser = await puppeteer.launch();
|
|
const page = await browser.newPage();
|
|
|
|
await page.goto(
|
|
'file://' + join(cwd, 'fixtures/tracing/index.html?puppeteer=true')
|
|
);
|
|
|
|
try {
|
|
return await page.evaluate(() => {
|
|
const button = document.getElementById('run-test-button');
|
|
button.click();
|
|
|
|
const items = document.querySelectorAll('[data-value]');
|
|
|
|
if (items.length === 0) {
|
|
return 'No results were found.';
|
|
}
|
|
|
|
for (let i = 0; i < items.length; i++) {
|
|
const item = items[i];
|
|
if (item.getAttribute('data-value') !== 'All checks pass') {
|
|
return `Unexpected result, "${item.getAttribute('data-value')}"`;
|
|
}
|
|
}
|
|
|
|
return null;
|
|
});
|
|
} finally {
|
|
await browser.close();
|
|
}
|
|
};
|
|
|
|
const run = async ({cwd}) => {
|
|
const errorMessage = await logPromise(
|
|
validate({cwd}),
|
|
'Verifying "scheduler/tracing" fixture'
|
|
);
|
|
if (errorMessage) {
|
|
console.error(
|
|
theme.error('✗'),
|
|
'Verifying "scheduler/tracing" fixture\n ',
|
|
theme.error(errorMessage)
|
|
);
|
|
process.exit(1);
|
|
}
|
|
};
|
|
|
|
module.exports = run;
|