This is a revert of fca48df85d. The issue
seems to be fixed in the current version of Chrome, so let's keep things
simple again.
86 lines
2.4 KiB
JavaScript
86 lines
2.4 KiB
JavaScript
// Karma configuration
|
|
|
|
// The Safari launcher is broken, so construct our own
|
|
function SafariBrowser(id, baseBrowserDecorator, args) {
|
|
baseBrowserDecorator(this);
|
|
|
|
this._start = function(url) {
|
|
this._execCommand('/usr/bin/open', ['-W', '-n', '-a', 'Safari', url]);
|
|
}
|
|
}
|
|
|
|
SafariBrowser.prototype = {
|
|
name: 'Safari'
|
|
}
|
|
|
|
module.exports = (config) => {
|
|
let browsers = [];
|
|
|
|
if (process.env.TEST_BROWSER_NAME) {
|
|
browsers = process.env.TEST_BROWSER_NAME.split(',');
|
|
}
|
|
|
|
const my_conf = {
|
|
|
|
// base path that will be used to resolve all patterns (eg. files, exclude)
|
|
basePath: '',
|
|
|
|
// frameworks to use
|
|
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
|
|
frameworks: ['mocha', 'sinon-chai'],
|
|
|
|
// list of files / patterns to load in the browser (loaded in order)
|
|
files: [
|
|
{ pattern: 'app/localization.js', included: false, type: 'module' },
|
|
{ pattern: 'app/webutil.js', included: false, type: 'module' },
|
|
{ pattern: 'core/**/*.js', included: false, type: 'module' },
|
|
{ pattern: 'vendor/pako/**/*.js', included: false, type: 'module' },
|
|
{ pattern: 'tests/test.*.js', type: 'module' },
|
|
{ pattern: 'tests/fake.*.js', included: false, type: 'module' },
|
|
{ pattern: 'tests/assertions.js', type: 'module' },
|
|
],
|
|
|
|
client: {
|
|
mocha: {
|
|
// replace Karma debug page with mocha display
|
|
'reporter': 'html',
|
|
'ui': 'bdd'
|
|
}
|
|
},
|
|
|
|
// list of files to exclude
|
|
exclude: [
|
|
],
|
|
|
|
plugins: [
|
|
'karma-*',
|
|
'@chiragrupani/karma-chromium-edge-launcher',
|
|
{ 'launcher:Safari': [ 'type', SafariBrowser ] },
|
|
],
|
|
|
|
// start these browsers
|
|
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
|
|
browsers: browsers,
|
|
|
|
// test results reporter to use
|
|
// possible values: 'dots', 'progress'
|
|
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
|
|
reporters: ['mocha'],
|
|
|
|
|
|
// level of logging
|
|
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
|
|
logLevel: config.LOG_INFO,
|
|
|
|
|
|
// enable / disable watching file and executing tests whenever any file changes
|
|
autoWatch: false,
|
|
|
|
// Continuous Integration mode
|
|
// if true, Karma captures browsers, runs the tests and exits
|
|
singleRun: true,
|
|
};
|
|
|
|
config.set(my_conf);
|
|
};
|