faad41f5e2
Fixes #12
107 lines
No EOL
3.7 KiB
JavaScript
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
|
|
});
|
|
}; |