This repository has been archived on 2024-01-26. You can view files and clone it, but cannot push or open issues or pull requests.
calcifer/web/vendor/selectize.js/karma.conf.js
2015-04-11 11:29:53 +02:00

107 lines
No EOL
3.7 KiB
JavaScript

module.exports = function(config) {
// workaround for https://github.com/karma-runner/karma-sauce-launcher/issues/40
var saucelabsBatchID = Number(process.env.SAUCELABS_BATCH) - 1;
var saucelabsConcurrency = 4;
var saucelabsBrowsers = [
// mobile
{platform: 'OS X 10.10', browserName: 'iPhone', version: '8.1'},
//{platform: 'OS X 10.10 ', browserName: 'iPhone', version: '6.0'},
{platform: 'OS X 10.10', browserName: 'iPad', version: '8.1'},
//{platform: 'OS X 10.10', browserName: 'iPad', version: '6.0'},
{platform: 'Linux', browserName: 'android', version: '4.4'},
{platform: 'Linux', browserName: 'android', version: '4.3'},
// desktop (safari)
{platform: 'OS X 10.8', browserName: 'safari', version: 6},
{platform: 'OS X 10.9', browserName: 'safari', version: 7},
{platform: 'OS X 10.10', browserName: 'safari', version: 8},
// desktop (chrome)
{platform: 'OS X 10.10', browserName: 'chrome', version: 39},
{platform: 'OS X 10.10', browserName: 'chrome', version: 38},
{platform: 'OS X 10.10', browserName: 'chrome', version: 37},
{platform: 'Windows 7', browserName: 'chrome', version: 39},
{platform: 'Windows 7', browserName: 'chrome', version: 38},
{platform: 'Windows 7', browserName: 'chrome', version: 37},
// desktop (firefox)
{platform: 'Windows 7', browserName: 'firefox', version: 35},
{platform: 'Windows 8', browserName: 'firefox', version: 35},
{platform: 'OS X 10.10', browserName: 'firefox', version: 34},
{platform: 'OS X 10.10', browserName: 'firefox', version: 33},
{platform: 'OS X 10.10', browserName: 'firefox', version: 32},
// desktop (internet explorer)
{platform: 'Windows 8', browserName: 'iexplore', version: 10},
{platform: 'Windows 8.1', browserName: 'iexplore', version: 11},
{platform: 'Windows 7', browserName: 'iexplore', version: 9}
];
if (process.env.TARGET === 'saucelabs') {
saucelabsBrowsers = saucelabsBrowsers.slice(saucelabsBatchID * saucelabsConcurrency, saucelabsBatchID * saucelabsConcurrency + saucelabsConcurrency);
if (!saucelabsBrowsers.length) process.exit(0);
}
var customLaunchers = {};
saucelabsBrowsers.forEach(function(browser, i) {
browser.base = 'SauceLabs';
customLaunchers['SL_' + i] = browser;
});
var targets = {
'saucelabs': Object.keys(customLaunchers),
'phantomjs': ['PhantomJS']
};
var reporters = ['mocha'];
if (process.env.TRAVIS_CI) {
reporters = process.env.TARGET === 'saucelabs'
? ['saucelabs', 'mocha']
: ['mocha', 'coverage', 'coveralls']
}
var browsers = targets[process.env.TARGET || 'phantomjs'];
if (process.env.BROWSERS) {
browsers = process.env.BROWSERS.split(',');
}
config.set({
frameworks: ['mocha', 'chai'],
files: [
'dist/css/selectize.default.css',
'bower_components/jquery/jquery.js',
'bower_components/microplugin/src/microplugin.js',
'bower_components/sifter/sifter.js',
'test/support/*.js',
'src/contrib/*.js',
'src/constants.js',
'src/utils.js',
'src/selectize.js',
'src/defaults.js',
'src/selectize.jquery.js',
'test/*.js'
],
preprocessors: {
'src/*.js': ['coverage']
},
coverageReporter: {
type: process.env.TRAVIS_CI && process.env.TARGET === 'phantomjs' ? 'lcov' : 'text-summary',
dir: 'coverage/'
},
sauceLabs: {
recordVideo: false,
startConnect: true,
tunnelIdentifier: process.env.TRAVIS_JOB_NUMBER,
build: process.env.TRAVIS_BUILD_NUMBER,
testName: process.env.COMMIT_MESSAGE,
tags: ['selectize', 'test']
},
customLaunchers: customLaunchers,
reporters: reporters,
port: 8888,
colors: true,
captureTimeout: 0,
logLevel: config.LOG_INFO,
browsers: browsers,
browserDisconnectTolerance: 2,
browserDisconnectTimeout: 10000,
browserNoActivityTimeout: 120000,
singleRun: true
});
};