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
| /* eslint-env node */
| /* eslint no-process-env: 0 */
| const path = require('path')
| const jsCoveragePath = path.resolve(__dirname, '../coverage')
|
| module.exports = (config) => {
| const jqueryFile = process.env.USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'site/docs/4.1/assets/js/vendor/jquery-slim.min.js'
|
| config.set({
| basePath: '../..',
| frameworks: ['qunit', 'sinon', 'detectBrowsers'],
| plugins: [
| 'karma-chrome-launcher',
| 'karma-firefox-launcher',
| 'karma-qunit',
| 'karma-sinon',
| 'karma-detect-browsers',
| 'karma-coverage-istanbul-reporter'
| ],
| // list of files / patterns to load in the browser
| files: [
| jqueryFile,
| 'site/docs/4.1/assets/js/vendor/popper.min.js',
| 'js/coverage/dist/util.js',
| 'js/coverage/dist/tooltip.js',
| 'js/coverage/dist/!(util|index|tooltip).js', // include all of our js/dist files except util.js, index.js and tooltip.js
| 'js/tests/unit/*.js'
| ],
| reporters: ['dots', 'coverage-istanbul'],
| 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,
| customLaunchers: {
| FirefoxHeadless: {
| base: 'Firefox',
| flags: ['-headless']
| }
| },
| singleRun: true,
| concurrency: Infinity,
| detectBrowsers: {
| usePhantomJS: false,
| postDetection(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')
| }
| },
| coverageIstanbulReporter: {
| dir: jsCoveragePath,
| reports: ['lcov', 'text-summary'],
| thresholds: {
| emitWarning: false,
| global: {
| statements: 90,
| branches: 84,
| functions: 87,
| lines: 90
| }
| }
| },
| client: {
| qunit: {
| showUI: true
| }
| }
| })
| }
|
|