mirror of
https://github.com/tenrok/bootstrap.git
synced 2026-06-14 18:42:30 +03:00
Use BrowserStack for our unit tests.
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
// jscs:disable requireCamelCaseOrUpperCaseIdentifiers
|
||||
|
||||
var browsers = {
|
||||
safariMac: {
|
||||
base: 'BrowserStack',
|
||||
os: 'OS X',
|
||||
os_version: 'Yosemite',
|
||||
browser: 'Safari',
|
||||
browser_version: '8.0'
|
||||
},
|
||||
chromeMac: {
|
||||
base: 'BrowserStack',
|
||||
os: 'OS X',
|
||||
os_version: 'Yosemite',
|
||||
browser : 'Chrome',
|
||||
browser_version : 'latest'
|
||||
},
|
||||
firefoxMac: {
|
||||
base: 'BrowserStack',
|
||||
os: 'OS X',
|
||||
os_version: 'Yosemite',
|
||||
browser: 'Firefox',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
'ie11Win8.1': {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '8.1',
|
||||
browser: 'IE',
|
||||
browser_version: '11.0'
|
||||
},
|
||||
ie10Win8: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '8',
|
||||
browser: 'IE',
|
||||
browser_version: '10.0'
|
||||
},
|
||||
ie9Win7: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '7',
|
||||
browser: 'IE',
|
||||
browser_version: '9.0'
|
||||
},
|
||||
ie8Win7: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '7',
|
||||
browser: 'IE',
|
||||
browser_version: '8.0'
|
||||
},
|
||||
'chromeWin8.1': {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '8.1',
|
||||
browser: 'Chrome',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
'firefoxWin8.1': {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '8.1',
|
||||
browser: 'Firefox',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
iphone6: {
|
||||
base: 'BrowserStack',
|
||||
os: 'ios',
|
||||
os_version: '11.2',
|
||||
device: 'iPhone 6',
|
||||
real_mobile: true
|
||||
},
|
||||
nexus5: {
|
||||
base: 'BrowserStack',
|
||||
os: 'android',
|
||||
os_version: '4.4',
|
||||
device: 'Google Nexus 5',
|
||||
real_mobile: true
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
list: browsers,
|
||||
keys: Object.keys(browsers)
|
||||
};
|
||||
@@ -0,0 +1,79 @@
|
||||
'use strict';
|
||||
|
||||
var ip = require('ip');
|
||||
var browserConfig = require('./browsers');
|
||||
var browserStack = process.env.BROWSER === 'true';
|
||||
|
||||
module.exports = function (config) {
|
||||
var conf = {
|
||||
basePath: '../',
|
||||
frameworks: ['qunit'],
|
||||
plugins: ['karma-qunit'],
|
||||
// list of files / patterns to load in the browser
|
||||
files: [
|
||||
'js/tests/vendor/jquery.min.js',
|
||||
'js/tooltip.js',
|
||||
'js/!(tooltip).js',
|
||||
'js/tests/unit/*.js'
|
||||
],
|
||||
reporters: ['dots'],
|
||||
port: 9876,
|
||||
colors: true,
|
||||
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
|
||||
logLevel: config.LOG_ERROR || config.LOG_WARN,
|
||||
autoWatch: false,
|
||||
singleRun: true,
|
||||
concurrency: Infinity,
|
||||
client: {
|
||||
qunit: {
|
||||
showUI: true
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (browserStack) {
|
||||
conf.hostname = ip.address();
|
||||
conf.browserStack = {
|
||||
username: process.env.BROWSER_STACK_USERNAME,
|
||||
accessKey: process.env.BROWSER_STACK_ACCESS_KEY,
|
||||
build: 'bootstrap-v3-' + new Date().toISOString(),
|
||||
project: 'Bootstrap v3',
|
||||
retryLimit: 1
|
||||
};
|
||||
conf.plugins.push('karma-browserstack-launcher');
|
||||
conf.customLaunchers = browserConfig.list;
|
||||
conf.browsers = browserConfig.keys;
|
||||
conf.reporters.push('BrowserStack');
|
||||
} else {
|
||||
conf.frameworks.push('detectBrowsers');
|
||||
conf.plugins.push(
|
||||
'karma-chrome-launcher',
|
||||
'karma-firefox-launcher',
|
||||
'karma-detect-browsers'
|
||||
);
|
||||
|
||||
conf.detectBrowsers = {
|
||||
usePhantomJS: false,
|
||||
postDetection: function (availableBrowser) {
|
||||
if (typeof process.env.TRAVIS_JOB_ID !== 'undefined' || availableBrowser.includes('Chrome')) {
|
||||
return ['ChromeHeadless'];
|
||||
}
|
||||
|
||||
if (availableBrowser.includes('Firefox')) {
|
||||
return ['FirefoxHeadless'];
|
||||
}
|
||||
|
||||
throw new Error('Please install Firefox or Chrome');
|
||||
}
|
||||
};
|
||||
|
||||
conf.customLaunchers = {
|
||||
FirefoxHeadless: {
|
||||
base: 'Firefox',
|
||||
flags: ['-headless']
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
config.set(conf);
|
||||
};
|
||||
Generated
+9510
-1724
File diff suppressed because it is too large
Load Diff
@@ -1,82 +0,0 @@
|
||||
[
|
||||
# Docs: https://saucelabs.com/docs/platforms/webdriver
|
||||
|
||||
{
|
||||
browserName: "safari",
|
||||
platform: "OS X 10.10"
|
||||
},
|
||||
{
|
||||
browserName: "chrome",
|
||||
platform: "OS X 10.10"
|
||||
},
|
||||
{
|
||||
browserName: "firefox",
|
||||
platform: "OS X 10.10"
|
||||
},
|
||||
|
||||
# Mac Opera not currently supported by Sauce Labs
|
||||
|
||||
{
|
||||
browserName: "internet explorer",
|
||||
version: "11",
|
||||
platform: "Windows 8.1"
|
||||
},
|
||||
{
|
||||
browserName: "internet explorer",
|
||||
version: "10",
|
||||
platform: "Windows 8"
|
||||
},
|
||||
{
|
||||
browserName: "internet explorer",
|
||||
version: "9",
|
||||
platform: "Windows 7"
|
||||
},
|
||||
{
|
||||
browserName: "internet explorer",
|
||||
version: "8",
|
||||
platform: "Windows 7"
|
||||
},
|
||||
|
||||
# { # Unofficial
|
||||
# browserName: "internet explorer",
|
||||
# version: "7",
|
||||
# platform: "Windows XP"
|
||||
# },
|
||||
|
||||
{
|
||||
browserName: "chrome",
|
||||
platform: "Windows 8.1"
|
||||
},
|
||||
{
|
||||
browserName: "firefox",
|
||||
platform: "Windows 8.1"
|
||||
},
|
||||
|
||||
# Win Opera 15+ not currently supported by Sauce Labs
|
||||
|
||||
{
|
||||
browserName: "iphone",
|
||||
platform: "OS X 10.10",
|
||||
version: "9.2"
|
||||
},
|
||||
|
||||
# iOS Chrome not currently supported by Sauce Labs
|
||||
|
||||
# Linux (unofficial)
|
||||
{
|
||||
browserName: "chrome",
|
||||
platform: "Linux"
|
||||
},
|
||||
{
|
||||
browserName: "firefox",
|
||||
platform: "Linux"
|
||||
}
|
||||
|
||||
# Android Chrome not currently supported by Sauce Labs
|
||||
|
||||
# { # Android Browser (super-unofficial)
|
||||
# browserName: "android",
|
||||
# version: "4.0",
|
||||
# platform: "Linux"
|
||||
# }
|
||||
]
|
||||
Reference in New Issue
Block a user