@progress/kendo-e2e
Version:
Kendo UI end-to-end test utilities.
69 lines • 2.65 kB
JavaScript
/* eslint @typescript-eslint/no-var-requires: "off" */
/* eslint @typescript-eslint/ban-ts-comment: "off" */
Object.defineProperty(exports, "__esModule", { value: true });
const capture_1 = require("./capture");
const fs = require('fs');
const glob = require('glob');
const program = require('commander');
const { createServer } = require('http-server');
const version = JSON.parse(fs.readFileSync(`${__dirname}/../../package.json`, { encoding: 'utf-8' })).version;
const configName = `${process.cwd()}/.snapshotrc`;
function readConfig() {
if (!fs.existsSync(configName)) {
console.info('No config file found. Using defaults.');
return {};
}
try {
return JSON.parse(fs.readFileSync(configName, { encoding: 'utf-8' }));
}
catch (e) {
console.error('Can not parse .snapshotrc');
console.error(e);
process.exit(1);
}
}
const snapshotrc = readConfig();
function parseViewportSize(val) {
val = val.split(',');
return { width: Number(val[0]), height: Number(val[1]) };
}
program
.version(version)
.usage('[options] ')
.option('--output <dir>', 'Output directory for the captured screenshots', snapshotrc.output || 'snapshots')
.option('--serve <glob>', 'Pages to serve with an embedded HTTP server', snapshotrc.serve || false)
.option('--port <number>', 'Port number for the embedded HTTP server (--serve)', snapshotrc.port || 8081)
.option('--browser <firefox|chrome>', 'Browser that will take screenshots', snapshotrc.browser || 'firefox')
.option('--viewport-size <width,height>', 'Initial window size (default: 1024,768)', parseViewportSize)
.option('--selector <css selector>', 'Scope screenshot to specific selector. Leave empty for viewport', snapshotrc.selector || '')
.option('--tolerance <number>', 'Tolerance to use when comparing', snapshotrc.tolerance || 0)
.option('--create-diff <boolean>', 'Create diff image', snapshotrc.createDiff || false)
.parse(process.argv);
// @ts-ignore
const { browser, serve, port, output, viewportSize, selector, tolerance, createDiff } = Object.assign(Object.assign({}, snapshotrc), program);
// @ts-ignore
const pages = glob.sync(serve);
const root = serve.substring(0, serve.indexOf('*') - 1);
const server = createServer({
root: './',
showDotfiles: false,
port
});
server.listen(port);
(0, capture_1.capture)({
host: `http://localhost:${port}/`,
browser,
output,
pages,
root,
viewportSize,
selector,
tolerance,
createDiff
})
.then(() => {
server.close();
});
//# sourceMappingURL=index.js.map
;