mirror of
https://github.com/niklasvh/html2canvas.git
synced 2023-08-10 21:13:10 +03:00
test: update karma runner (#2524)
* test: update karma runner * fix: Promise polyfill for testrunner
This commit is contained in:

committed by
GitHub

parent
ba172678f0
commit
ff35c7dbd3
32
tests/karma.ts
Normal file
32
tests/karma.ts
Normal file
@ -0,0 +1,32 @@
|
||||
import {screenshotApp, corsApp} from './server';
|
||||
import {Server} from 'http';
|
||||
import {config as KarmaConfig, Server as KarmaServer, TestResults} from 'karma';
|
||||
import * as path from 'path';
|
||||
|
||||
const karmaTestRunner = (): Promise<void> =>
|
||||
new Promise<void>((resolve, reject) => {
|
||||
const karmaConfig = KarmaConfig.parseConfig(path.resolve(__dirname, '../karma.conf.js'), {});
|
||||
const server = new KarmaServer(karmaConfig, (exitCode: number) => {
|
||||
if (exitCode > 0) {
|
||||
reject(`Karma has exited with ${exitCode}`);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
server.on('run_complete', (_browsers: any, _results: TestResults) => {
|
||||
server.stop();
|
||||
});
|
||||
server.start();
|
||||
});
|
||||
const servers: Server[] = [];
|
||||
|
||||
servers.push(screenshotApp.listen(8000));
|
||||
servers.push(corsApp.listen(8081));
|
||||
|
||||
karmaTestRunner().then(() => {
|
||||
servers.forEach(server => server.close());
|
||||
}).catch(e => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
});
|
||||
|
Reference in New Issue
Block a user