You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.3 KiB
86 lines
2.3 KiB
var istanbul = require('browserify-istanbul');
|
|
var isparta = require('isparta');
|
|
|
|
module.exports = function(config) {
|
|
|
|
|
|
if (process.env.TRAVIS) {
|
|
config.browsers = ['ChromeHeadlessNoSandbox'];
|
|
} else {
|
|
config.browsers = ['ChromeHeadlessNoSandbox', 'ChromeCanaryHeadlessNoSandbox', 'FirefoxHeadless'];
|
|
}
|
|
|
|
// If no browsers are specified, we enable `karma-detect-browsers`
|
|
// this will detect all browsers that are available for testing
|
|
config.set({
|
|
basePath: '..',
|
|
frameworks: ['qunit', 'browserify'],
|
|
files: [
|
|
'node_modules/sinon/pkg/sinon.js',
|
|
'node_modules/sinon/pkg/sinon-ie.js',
|
|
'node_modules/video.js/dist/video.js',
|
|
'node_modules/video.js/dist/video-js.css',
|
|
'node_modules/videojs-flash/dist/videojs-flash.js',
|
|
'dist-test/browserify-test.js',
|
|
'dist-test/webpack-test.js',
|
|
'dist-test/videojs-http-streaming.js'
|
|
],
|
|
browserConsoleLogOptions: {
|
|
level: 'error',
|
|
terminal: false
|
|
},
|
|
customLaunchers: {
|
|
ChromeHeadlessNoSandbox: {
|
|
base: 'ChromeHeadless',
|
|
flags: ['--no-sandbox', '--autoplay-policy=no-user-gesture-required']
|
|
},
|
|
ChromeCanaryHeadlessNoSandbox: {
|
|
base: 'ChromeCanaryHeadless',
|
|
flags: ['--no-sandbox', '--autoplay-policy=no-user-gesture-required'],
|
|
}
|
|
},
|
|
preprocessors: {
|
|
'test/**/*.test.js': ['browserify']
|
|
},
|
|
browserify: {
|
|
debug: true,
|
|
transform: [
|
|
'babelify',
|
|
['browserify-shim', { global: true }]
|
|
],
|
|
noParse: [
|
|
'test/data/**',
|
|
]
|
|
},
|
|
babelPreprocessor: {
|
|
options: {
|
|
presets: ['es2015'],
|
|
sourceMap: 'inline'
|
|
},
|
|
sourceFileName: function (file) {
|
|
return file.originalPath;
|
|
}
|
|
},
|
|
reporters: ['dots'],
|
|
port: 9876,
|
|
colors: true,
|
|
autoWatch: false,
|
|
singleRun: true,
|
|
concurrency: Infinity
|
|
});
|
|
|
|
// Coverage reporting
|
|
// Coverage is enabled by passing the flag --coverage to npm test
|
|
var coverageFlag = process.env.npm_config_coverage;
|
|
var reportCoverage = process.env.TRAVIS || coverageFlag;
|
|
|
|
if (reportCoverage) {
|
|
config.reporters.push('coverage');
|
|
config.browserify.transform.push(istanbul({
|
|
instrumenter: isparta,
|
|
ignore: ['**/node_modules/**', '**/test/**']
|
|
}));
|
|
config.preprocessors['src/**/*.js'] = ['browserify', 'coverage'];
|
|
}
|
|
|
|
};
|