/
karma.sauce.js
100 lines (98 loc) · 2.28 KB
/
karma.sauce.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
const path = require('path');
const alias = require('@rollup/plugin-alias');
const buble = require('@rollup/plugin-buble');
// https://wiki.saucelabs.com/display/DOCS/Platform+Configurator#/
const customLaunchers = {
SL_iOS_Safari_latest: {
base: 'SauceLabs',
browserName: 'Safari',
deviceName: 'iPhone Simulator',
platformVersion: '13.4',
platformName: 'iOS',
},
SL_iOS_Safari_oldest: {
base: 'SauceLabs',
browserName: 'Safari',
deviceName: 'iPhone Simulator',
platformVersion: '10.3',
platformName: 'iOS',
},
// SL_Android_latest: {
// base: 'SauceLabs',
// deviceName: 'Android Emulator',
// browserName: 'Chrome',
// platformVersion: '10.0',
// platformName: 'Android',
// },
SL_Android_oldest: {
base: 'SauceLabs',
deviceName: 'Android Emulator',
browserName: 'Browser',
platformVersion: '5.1',
platformName: 'Android',
},
SL_Chrome: {
base: 'SauceLabs',
browserName: 'chrome',
},
SL_Firefox: {
base: 'SauceLabs',
browserName: 'firefox',
},
SL_Safari: {
base: 'SauceLabs',
browserName: 'safari',
},
SL_Edge: {
base: 'SauceLabs',
browserName: 'MicrosoftEdge',
},
SL_IE_11: {
base: 'SauceLabs',
browserName: 'internet explorer',
platform: 'Windows 8.1',
version: '11',
},
SL_IE_10: {
base: 'SauceLabs',
browserName: 'internet explorer',
platform: 'Windows 8',
version: '10',
},
};
module.exports = (config) => {
config.set({
singleRun: true,
concurrency: 5,
captureTimeout: 300000,
browserNoActivityTimeout: 120000,
frameworks: ['mocha', 'chai'],
browsers: Object.keys(customLaunchers),
customLaunchers,
files: [
{ pattern: 'test/fixtures/**/*.*', included: false, served: true },
{ pattern: 'test/test.js', watched: false },
],
preprocessors: {
'test/test.js': ['rollup'],
},
rollupPreprocessor: {
output: {
format: 'iife',
},
plugins: [
alias({
entries: {
'../../src/index.js': path.resolve(__dirname, './dist/ass.esm.js'),
},
}),
buble(),
],
},
reporters: ['dots', 'saucelabs'],
sauceLabs: {
testName: 'ASS.js unit test',
recordScreenshots: false,
},
});
};