1
0
mirror of https://github.com/videojs/video.js.git synced 2024-12-04 10:34:51 +02:00
video.js/test/karma.conf.js
Gary Katsevman 7bafcc2a55 test: fix tests (#3953)
* Switch to es3 preset for babel so that it runs last. Plugins run before presets and presets run in reverse order. Also, we ran into a weird bug in babel that causes `default` not to be quoted in some cases (https://github.com/babel/babel/issues/4799) which we've worked around here.
* Restore the es-shims for tests and the ie8 fallback script.
* Do a null-check around `Player.players`.
* use more round fractions (like 0.5 and 1) to avoid rounding issues.
2017-01-19 11:17:46 -05:00

184 lines
3.9 KiB
JavaScript

module.exports = function(config) {
// Creating settings object first so we can modify based on travis
var settings = {
basePath: '',
frameworks: ['browserify', 'qunit', 'detectBrowsers'],
autoWatch: false,
singleRun: true,
// Compling tests here
files: [
'../build/temp/video-js.css',
'../build/temp/ie8/videojs-ie8.min.js',
'../test/globals-shim.js',
'../test/unit/**/*.js',
'../build/temp/browserify.js',
'../build/temp/webpack.js',
{ pattern: '../src/**/*.js', watched: true, included: false, served: false }
],
// Using precompiled tests
// files: [
// '../build/temp/video-js.css',
// '../build/temp/tests.js'
// ],
preprocessors: {
'../test/**/*.js': [ 'browserify' ]
},
browserify: {
debug: true,
plugin: ['proxyquireify/plugin'],
transform: ['babelify']
},
plugins: [
'karma-qunit',
'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-ie-launcher',
'karma-opera-launcher',
'karma-safari-launcher',
'karma-browserstack-launcher',
'karma-browserify',
'karma-coverage',
'karma-detect-browsers',
],
detectBrowsers: {
enabled: false,
usePhantomJS: false
},
reporters: ['dots'],
// web server port
port: 9876,
// cli runner port
runnerPort: 9100,
colors: true,
logLevel: config.LOG_INFO,
captureTimeout: 300000,
browserNoActivityTimeout: 300000,
browserStack: {
name: process.env.TRAVIS_BUILD_NUMBER + process.env.TRAVIS_BRANCH,
pollingTimeout: 30000
},
customLaunchers: getCustomLaunchers(),
// The HTML reporter seems to be busted right now, so we're just using text in the meantime
// along with the summary after the test run.
coverageReporter: {
reporters: [
{
type: 'text',
dir: 'coverage/',
file: 'coverage.txt'
},
{
type: 'lcovonly',
dir: 'coverage/',
subdir: '.'
},
{ type: 'text-summary' }
]
}
};
// 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) {
settings.browserify.transform.push('browserify-istanbul');
settings.reporters.push('coverage');
}
if (process.env.TRAVIS) {
if (process.env.BROWSER_STACK_USERNAME) {
settings.browsers = [
'chrome_bs',
'firefox_bs',
'safari_bs',
'edge_bs',
'ie11_bs',
'ie10_bs',
'ie9_bs',
'ie8_bs'
];
} else {
settings.browsers = ['Firefox'];
}
}
config.set(settings);
};
function getCustomLaunchers(){
return {
chrome_bs: {
base: 'BrowserStack',
browser: 'chrome',
os: 'Windows',
os_version: '8.1'
},
firefox_bs: {
base: 'BrowserStack',
browser: 'firefox',
os: 'Windows',
os_version: '8.1'
},
safari_bs: {
base: 'BrowserStack',
browser: 'safari',
os: 'OS X',
os_version: 'Yosemite'
},
edge_bs: {
base: 'BrowserStack',
browser: 'edge',
os: 'Windows',
os_version: '10'
},
ie11_bs: {
base: 'BrowserStack',
browser: 'ie',
browser_version: '11',
os: 'Windows',
os_version: '8.1'
},
ie10_bs: {
base: 'BrowserStack',
browser: 'ie',
browser_version: '10',
os: 'Windows',
os_version: '7'
},
ie9_bs: {
base: 'BrowserStack',
browser: 'ie',
browser_version: '9',
os: 'Windows',
os_version: '7'
},
ie8_bs: {
base: 'BrowserStack',
browser: 'ie',
browser_version: '8',
os: 'Windows',
os_version: '7'
}
};
}