forked from egoist/poi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.js
36 lines (31 loc) · 1022 Bytes
/
test.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
'use strict'
const _ = require('./utils')
module.exports = function (webpackConfig, options) {
const Server = require(_.cwd('node_modules/karma')).Server
const inputFiles = options.inputFiles || ['./src/**/*', './tests/**/*.test.js']
let karmaConfig = options.karmaConfig
if (typeof karmaConfig === 'string') {
karmaConfig = require(_.cwd(options.karmaConfig))
} else if (typeof karmaConfig === 'function') {
karmaConfig = karmaConfig(webpackConfig, options)
}
const server = new Server(Object.assign({
port: 5001,
browsers: ['Chrome', 'PhantomJS'],
frameworks: ['mocha', 'chai'],
basePath: _.cwd(),
files: inputFiles,
preprocessors: inputFiles.reduce((current, next) => {
current[next] = ['webpack', 'sourcemap']
return current
}, {}),
webpack: webpackConfig,
webpackMiddleware: {
stats: 'normal'
}
}, karmaConfig), exitCode => {
console.log('Karma has exited with ' + exitCode)
process.exit(exitCode)
})
server.start()
}