-
Notifications
You must be signed in to change notification settings - Fork 414
/
karma.conf.js
111 lines (104 loc) · 2.89 KB
/
karma.conf.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
module.exports = function(config) {
// build out a name for browserstack
// {TRAVIS_BUILD_NUMBER} [{TRAVIS_PULL_REQUEST} {PR_BRANCH}] {TRAVIS_BRANCH}
var browserstackName = process.env.TRAVIS_BUILD_NUMBER;
if (process.env.TRAVIS_PULL_REQUEST !== 'false') {
browserstackName += ' ' + process.env.TRAVIS_PULL_REQUEST + ' ' + process.env.TRAVIS_PULL_REQUEST_BRANCH;
}
browserstackName += ' ' + process.env.TRAVIS_BRANCH;
config.set({
basePath: '..',
frameworks: ['qunit', 'detectBrowsers'],
client: {
clearContext: false,
qunit: {
showUI: true,
testTimeout: 30000
}
},
files: [
'node_modules/sinon/pkg/sinon.js',
'node_modules/video.js/dist/alt/video.core.js',
'node_modules/video.js/dist/video-js.css',
'dist-test/videojs-http-streaming.test.js'
],
browserConsoleLogOptions: {
level: 'error',
terminal: false
},
browserStack: {
project: 'videojs-http-streaming',
name: browserstackName,
build: browserstackName,
pollingTimeout: 30000,
captureTimeout: 600,
timeout: 600
},
customLaunchers: {
ChromeHeadlessWithFlags: {
base: 'ChromeHeadless',
flags: [ '--no-sandbox' ]
},
ChromeBrowserStack: {
base: 'BrowserStack',
flags: [ '--no-sandbox' ],
browser: 'chrome',
os: 'Windows',
os_version: '10'
},
SafariBrowserStack: {
base: 'BrowserStack',
browser: 'safari',
os: 'OS X',
os_version: 'High Sierra'
},
FirefoxBrowserStack: {
base: 'BrowserStack',
browser: 'firefox',
os: 'Windows',
os_version: '10'
},
EdgeBrowserStack: {
base: 'BrowserStack',
browser: 'edge',
os: 'Windows',
os_version: '10'
},
IE11BrowserStack: {
base: 'BrowserStack',
browser: 'ie',
browser_version: '11',
os: 'Windows',
os_version: '10'
}
},
detectBrowsers: {
usePhantomJS: false,
// detect what browsers are installed on the system and
// use headless mode and flags to allow for playback
postDetection: function(browsers) {
if (process.env.BROWSER_STACK_ACCESS_KEY) {
return [ 'ChromeBrowserStack', 'FirefoxBrowserStack' ];
}
var newBrowsers = [];
if (browsers.indexOf('Chrome') !== -1) {
newBrowsers.push('ChromeHeadlessWithFlags');
}
if (browsers.indexOf('Firefox') !== -1) {
newBrowsers.push('FirefoxHeadless');
}
return newBrowsers;
}
},
reporters: ['dots'],
port: 9876,
colors: true,
autoWatch: false,
singleRun: true,
concurrency: 1,
captureTimeout: 300000,
browserNoActivityTimeout: 300000,
browserDisconnectTimeout: 300000,
browserDisconnectTolerance: 3
});
};