1
0
mirror of https://github.com/videojs/video.js.git synced 2024-12-23 02:04:34 +02:00
video.js/test/karma.conf.js

75 lines
2.3 KiB
JavaScript
Raw Normal View History

const generate = require('videojs-generate-karma-config');
const CI_TEST_TYPE = process.env.CI_TEST_TYPE || '';
module.exports = function(config) {
// see https://github.com/videojs/videojs-generate-karma-config
// for options
const options = {
browsers(aboutToRun) {
// never run on Chromium
return aboutToRun.filter(function(launcherName) {
return !(/^(Chromium)/).test(launcherName);
});
},
serverBrowsers(defaults) {
return [];
},
browserstackLaunchers(defaults) {
// do not use browserstack for coverage testing
if (CI_TEST_TYPE === 'coverage') {
return {};
}
return defaults;
},
coverage: CI_TEST_TYPE === 'coverage' ? true : false
};
config = generate(config, options);
config.proxies = config.proxies || {};
// disable warning logs for sourceset tests, by proxing to a remote host
Object.assign(config.proxies, {
'/test/relative-one.mp4': 'http://example.com/relative-one.mp4',
'/test/relative-two.mp4': 'http://example.com/relative-two.mp4',
'/test/relative-three.mp4': 'http://example.com/relative-three.mp4'
});
config.files = [
2019-08-30 20:56:41 +02:00
'node_modules/es5-shim/es5-shim.js',
'node_modules/es6-shim/es6-shim.js',
// make sinon be available via karma's server but don't include it directly
{ pattern: 'node_modules/sinon/pkg/sinon.js', included: false, served: true },
'test/sinon.js',
'dist/video-js.css',
2019-08-30 20:56:41 +02:00
'test/dist/bundle.js',
'test/dist/browserify.js',
2019-08-30 20:56:41 +02:00
'test/dist/webpack.js'
];
config.browserStack.project = 'Video.js';
// pin Browserstack Firefox version to 64
2019-08-30 20:14:53 +02:00
/* eslint-disable camelcase */
if (config.customLaunchers && config.customLaunchers.bsFirefox) {
config.customLaunchers.bsFirefox.browser_version = '64.0';
}
2019-08-30 20:14:53 +02:00
/* eslint-enable camelcase */
// uncomment the section below to re-enable all browserstack video recording
// it is off by default because it slows the build
/*
Object.keys(config.customLaunchers).forEach(function(cl) {
if ('browserstack.video' in config.customLaunchers[cl]) {
config.customLaunchers[cl]['browserstack.video'] = "true";
}
});
*/
2019-08-30 20:14:53 +02:00
/* eslint-disable no-console */
2020-11-11 00:45:26 +02:00
// console.log(JSON.stringify(config, null, 2));
2019-08-30 20:14:53 +02:00
/* eslint-enable no-console */
};