diff --git a/README.md b/README.md index b88c58a..dda631c 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,8 @@ [![NPM](https://nodei.co/npm/dual-listbox.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/dual-listbox/) +[![Sauce Test Status](https://saucelabs.com/browser-matrix/jostcrow.svg)](https://saucelabs.com/u/jostcrow) + # Dual Listbox > Make your multi select pretty and easy to use with only javascript. diff --git a/karma.conf.js b/karma.conf.js index f870ec6..6f7012b 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -17,14 +17,89 @@ webpackConfig.plugins = []; webpackConfig.externals = []; +function ConfigException(message) { + this.message = message; + this.name = 'ConfigException'; +} + + // The main configuration module.exports = function(config) { - config.set({ - browserStack: { - username: '', - accessKey: '' + if (process.env.CI && (!process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY)) { + throw ConfigException('Make sure the SAUCE_USERNAME and SAUCE_ACCESS_KEY environment variables are set.') + } + + var customLaunchers = { + sl_chrome: { + base: 'SauceLabs', + browserName: 'chrome', + platform: 'Windows 10', + version: '59.0' + }, + sl_chrome_2: { + base: 'SauceLabs', + browserName: 'chrome', + platform: 'Windows 10', + version: '58.0' + }, + sl_edge: { + base: 'SauceLabs', + browserName: 'MicrosoftEdge', + platform: 'Windows 10', + version: '15.15063' + }, + sl_edge_2: { + base: 'SauceLabs', + browserName: 'MicrosoftEdge', + platform: 'Windows 10', + version: '14.14393' + }, + sl_safari: { + base: 'SauceLabs', + browserName: 'safari', + platform: 'macOS 10.12', + version: '10.0' + }, + sl_safari_2: { + base: 'SauceLabs', + browserName: 'safari', + platform: 'OS X 10.11', + version: '9.0' }, + sl_firefox: { + base: 'SauceLabs', + browserName: 'firefox', + platform: 'Windows 10', + version: '54' + }, + sl_ie_11: { + base: 'SauceLabs', + browserName: 'internet explorer', + platform: 'Windows 8.1', + version: '11' + }, + // sl_safari_mobile: { + // base: 'SauceLabs', + // browserName: "Safari", + // appiumVersion: "1.6.5", + // deviceName: "iPhone Simulator", + // deviceOrientation: "portrait", + // platformVersion: "10.3", + // platformName: "iOS" + // }, + // sl_chrome_mobile: { + // base: 'SauceLabs', + // browserName: "Android", + // appiumVersion: "1.6.5", + // deviceName: "Android Emulator", + // deviceOrientation: "portrait", + // browserName: "Chrome", + // platformVersion: "6.0", + // platformName: "Android" + // } + } + config.set({ frameworks: [ 'jasmine-jquery', 'jasmine-ajax', @@ -53,36 +128,17 @@ module.exports = function(config) { webpackMiddleware: { noInfo: true }, + colors: true, + recordScreenshots: false, + reporters: (process.env.TRAVIS) ? ['spec', 'coverage', 'coveralls', 'saucelabs'] : ['spec', 'coverage', 'saucelabs'], - reporters: (process.env.TRAVIS) ? ['spec', 'coverage', 'coveralls'] : ['spec', 'coverage'], - - // customLaunchers: { - // edge14: { - // base: 'BrowserStack', - // browser: 'edge', - // browser_version: '14', - // os: 'Windows', - // os_version: '10' - // }, - - // edge15: { - // base: 'BrowserStack', - // browser: 'edge', - // browser_version: '15', - // os: 'Windows', - // os_version: '10' - // }, - - // ie11: { - // base: 'BrowserStack', - // browser: 'ie', - // browser_version: '11', - // os: 'Windows', - // os_version: '7' - // } - // }, - - // browsers: ['Chrome', 'Firefox', 'edge14', 'edge15', 'ie11'] - browsers: ['Chrome', 'Firefox'] + sauceLabs: { + testName: 'Dual listbox browser testing', + public: 'public' + }, + customLaunchers: customLaunchers, + captureTimeout: 120000, + browsers: Object.keys(customLaunchers), + singleRun: true }); } diff --git a/package.json b/package.json index 4e6d2f1..84812ce 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "jasmine-core": "^2.4.1", "jshint": "^2.9.2", "karma": "^1.1.0", - "karma-browserstack-launcher": "^1.2.0", "karma-chrome-launcher": "^1.0.1", "karma-coverage": "^1.0.0", "karma-coveralls": "^1.1.2", @@ -33,6 +32,7 @@ "karma-jasmine": "^1.0.2", "karma-jasmine-ajax": "^0.1.13", "karma-jasmine-jquery": "^0.1.1", + "karma-sauce-launcher": "git+https://github.com/danielkalen/karma-sauce-launcher.git", "karma-spec-reporter": "^0.0.26", "karma-webpack": "^1.7.0", "node-sass": "^3.9.3",