aboutsummaryrefslogtreecommitdiff
path: root/test/karma.conf.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-11-08 15:07:07 +0100
committerFlorian Dold <florian.dold@gmail.com>2016-11-08 15:07:07 +0100
commit6e5fb04d3f3f9a6cd43ac20896d73321dd079f96 (patch)
tree6e9f4002ba1f682eb2dca0c320ab1e9933665a33 /test/karma.conf.js
parent30b577138dda685f65a8529be1866afa6e321845 (diff)
Squashed 'thirdparty/preact/' changes from b2d90cc..ba094e2
ba094e2 Run only local tests for pull requests (#390) e9fc3c2 Fix CI build (#386) 70a5ca3 This adds a link to preact-i18nline. (#382) 5dffd85 Merge branch 'pr-fix-build-for-windows' of https://github.com/Download/preact f14edf7 kilobits => kilobytes (#383) c193547 Test for #292 284e4aa 6.4.0 24eab2f Prevent accidental duplicate recycling of elements when swapping the base element of a component. Fixes #373. 76c5ef7 fix lint error 8008886 When swapping the base of a composed child component, update its parent's base reference. Fixes #349. fd4f21f Add an equality check prior to setting `.nodeValue` on text nodes, since Firefox (and maybe others) don't do this internally by default. Fixes #368 - thanks @zbinlin! 1555e2b Add CDNJS version badge in readme (#365) 79c8bae Disable React Developer Tools integration tests under IE (#362) 84f4eeb Refactor `linkState()` a bit to drop around 40 bytes. Coincidentally, that's the exact size of the hooks just added for DevTools... 👌 22bbfcb Little tweaks 👯 f8b326e Document how to use the React DevTools with Preact (#354) 1f4a8eb Correct "preact/devtools" type definitions (#355) 68f22eb Add React Developer Tools integration (#339) 2a7a027 Add ref and allow objects in className (#316) 4a59cca fix readme todomvc link (#345) 37ca4e0 Fixes build for Windows #343 cf93387 6.3.0 ff05818 Make `VNode.children` *always* be an Array, even when there are no children. 9b095f4 Added link to preact-layout (#342) git-subtree-dir: thirdparty/preact git-subtree-split: ba094e27b602cb16aded7dcad95f71e44b7b0476
Diffstat (limited to 'test/karma.conf.js')
-rw-r--r--test/karma.conf.js55
1 files changed, 42 insertions, 13 deletions
diff --git a/test/karma.conf.js b/test/karma.conf.js
index 6ed5397fb..3236e944b 100644
--- a/test/karma.conf.js
+++ b/test/karma.conf.js
@@ -1,45 +1,66 @@
/*eslint no-var:0, object-shorthand:0 */
var coverage = String(process.env.COVERAGE)!=='false',
- sauceLabs = String(process.env.SAUCELABS).match(/^(1|true)$/gi) && !String(process.env.TRAVIS_PULL_REQUEST).match(/^(1|true)$/gi),
- performance = !coverage && !sauceLabs && String(process.env.PERFORMANCE)!=='false',
+ ci = String(process.env.CI).match(/^(1|true)$/gi),
+ pullRequest = !String(process.env.TRAVIS_PULL_REQUEST).match(/^(0|false|undefined)$/gi),
+ realBrowser = String(process.env.BROWSER).match(/^(1|true)$/gi),
+ sauceLabs = realBrowser && ci && !pullRequest,
+ performance = !coverage && !realBrowser && String(process.env.PERFORMANCE)!=='false',
webpack = require('webpack');
var sauceLabsLaunchers = {
sl_chrome: {
base: 'SauceLabs',
- browserName: 'chrome'
+ browserName: 'chrome',
+ platform: 'Windows 10'
},
sl_firefox: {
base: 'SauceLabs',
- browserName: 'firefox'
+ browserName: 'firefox',
+ platform: 'Windows 10'
},
- sl_ios_safari: {
+ sl_safari: {
base: 'SauceLabs',
- browserName: 'iphone',
- platform: 'OS X 10.9',
- version: '7.1'
+ browserName: 'safari',
+ platform: 'OS X 10.11'
+ },
+ sl_edge: {
+ base: 'SauceLabs',
+ browserName: 'MicrosoftEdge',
+ platform: 'Windows 10'
},
sl_ie_11: {
base: 'SauceLabs',
browserName: 'internet explorer',
- version: '11'
+ version: '11.103',
+ platform: 'Windows 10'
},
sl_ie_10: {
base: 'SauceLabs',
browserName: 'internet explorer',
- version: '10'
+ version: '10.0',
+ platform: 'Windows 7'
},
sl_ie_9: {
base: 'SauceLabs',
browserName: 'internet explorer',
- version: '9'
+ version: '9.0',
+ platform: 'Windows 7'
}
};
+var travisLaunchers = {
+ chrome_travis: {
+ base: 'Chrome',
+ flags: ['--no-sandbox']
+ }
+};
+
+var localBrowsers = realBrowser ? Object.keys(travisLaunchers) : ['PhantomJS'];
+
module.exports = function(config) {
config.set({
- browsers: sauceLabs ? Object.keys(sauceLabsLaunchers) : ['PhantomJS'],
+ browsers: sauceLabs ? Object.keys(sauceLabsLaunchers) : localBrowsers,
frameworks: ['source-map-support', 'mocha', 'chai-sinon'],
@@ -69,14 +90,18 @@ module.exports = function(config) {
browserNoActivityTimeout: 5 * 60 * 1000,
+ // Use only two browsers concurrently, works better with open source Sauce Labs remote testing
+ concurrency: 2,
+
// sauceLabs: {
// tunnelIdentifier: process.env.TRAVIS_JOB_NUMBER || ('local'+require('./package.json').version),
// startConnect: false
// },
- customLaunchers: sauceLabsLaunchers,
+ customLaunchers: sauceLabs ? sauceLabsLaunchers : travisLaunchers,
files: [
+ { pattern: 'polyfills.js', watched: false },
{ pattern: '{browser,shared}/**.js', watched: false }
],
@@ -107,6 +132,10 @@ module.exports = function(config) {
} : [])
},
resolve: {
+ // The React DevTools integration requires preact as a module
+ // rather than referencing source files inside the module
+ // directly
+ alias: { preact: '../src/preact' },
modulesDirectories: [__dirname, 'node_modules']
},
plugins: [