2016-10-26 07:46:32 -07:00
|
|
|
// This is a karma config file. For more details see
|
|
|
|
// http://karma-runner.github.io/0.13/config/configuration-file.html
|
|
|
|
// we are also using it with karma-webpack
|
|
|
|
// https://github.com/webpack/karma-webpack
|
|
|
|
|
2019-07-06 14:54:17 -07:00
|
|
|
// var path = require('path')
|
2022-07-31 02:35:48 -07:00
|
|
|
const merge = require('webpack-merge')
|
|
|
|
const HtmlWebpackPlugin = require('html-webpack-plugin')
|
|
|
|
const baseConfig = require('../../build/webpack.base.conf')
|
|
|
|
const utils = require('../../build/utils')
|
|
|
|
const webpack = require('webpack')
|
2019-07-06 14:54:17 -07:00
|
|
|
// var projectRoot = path.resolve(__dirname, '../../')
|
2016-10-26 07:46:32 -07:00
|
|
|
|
2022-07-31 02:35:48 -07:00
|
|
|
const webpackConfig = merge(baseConfig, {
|
2016-10-26 07:46:32 -07:00
|
|
|
// use inline sourcemap for karma-sourcemap-loader
|
|
|
|
module: {
|
2019-04-10 12:36:37 -07:00
|
|
|
rules: utils.styleLoaders()
|
2016-10-26 07:46:32 -07:00
|
|
|
},
|
2022-08-15 15:12:10 -07:00
|
|
|
devtool: 'inline-source-map',
|
2016-11-30 09:15:01 -08:00
|
|
|
// vue: {
|
|
|
|
// loaders: {
|
|
|
|
// js: 'isparta'
|
|
|
|
// }
|
|
|
|
// },
|
2016-10-26 07:46:32 -07:00
|
|
|
plugins: [
|
|
|
|
new webpack.DefinePlugin({
|
|
|
|
'process.env': require('../../config/test.env')
|
2019-12-03 11:40:51 -08:00
|
|
|
}),
|
|
|
|
new HtmlWebpackPlugin({
|
|
|
|
filename: 'index.html',
|
|
|
|
template: 'index.html',
|
|
|
|
inject: true
|
2016-10-26 07:46:32 -07:00
|
|
|
})
|
|
|
|
]
|
|
|
|
})
|
|
|
|
|
|
|
|
// no need for app entry during tests
|
|
|
|
delete webpackConfig.entry
|
|
|
|
|
|
|
|
// make sure isparta loader is applied before eslint
|
2016-11-30 09:15:01 -08:00
|
|
|
// webpackConfig.module.preLoaders = webpackConfig.module.preLoaders || []
|
|
|
|
// webpackConfig.module.preLoaders.unshift({
|
|
|
|
// test: /\.js$/,
|
|
|
|
// loader: 'isparta',
|
|
|
|
// include: path.resolve(projectRoot, 'src')
|
|
|
|
// })
|
2016-10-26 07:46:32 -07:00
|
|
|
|
2016-11-30 09:15:01 -08:00
|
|
|
// // only apply babel for test files when using isparta
|
|
|
|
// webpackConfig.module.loaders.some(function (loader, i) {
|
|
|
|
// if (loader.loader === 'babel') {
|
|
|
|
// loader.include = path.resolve(projectRoot, 'test/unit')
|
|
|
|
// return true
|
|
|
|
// }
|
|
|
|
// })
|
2016-10-26 07:46:32 -07:00
|
|
|
|
|
|
|
module.exports = function (config) {
|
|
|
|
config.set({
|
|
|
|
// to run in additional browsers:
|
|
|
|
// 1. install corresponding karma launcher
|
|
|
|
// http://karma-runner.github.io/0.13/config/browsers.html
|
|
|
|
// 2. add it to the `browsers` array below.
|
2019-04-24 11:53:51 -07:00
|
|
|
browsers: ['FirefoxHeadless'],
|
2016-10-26 07:46:32 -07:00
|
|
|
frameworks: ['mocha', 'sinon-chai'],
|
2016-11-18 10:47:47 -08:00
|
|
|
reporters: ['mocha'],
|
2019-04-24 11:53:51 -07:00
|
|
|
customLaunchers: {
|
2022-07-31 02:35:48 -07:00
|
|
|
FirefoxHeadless: {
|
2019-04-24 11:53:51 -07:00
|
|
|
base: 'Firefox',
|
|
|
|
flags: [
|
2019-07-05 00:02:14 -07:00
|
|
|
'-headless'
|
2019-04-24 11:53:51 -07:00
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
2018-12-13 09:27:03 -08:00
|
|
|
files: [
|
|
|
|
'./index.js'
|
|
|
|
],
|
2016-10-26 07:46:32 -07:00
|
|
|
preprocessors: {
|
|
|
|
'./index.js': ['webpack', 'sourcemap']
|
|
|
|
},
|
|
|
|
webpack: webpackConfig,
|
|
|
|
webpackMiddleware: {
|
|
|
|
noInfo: true
|
|
|
|
},
|
2016-11-18 10:47:47 -08:00
|
|
|
mochaReporter: {
|
|
|
|
showDiff: true
|
|
|
|
},
|
2016-10-26 07:46:32 -07:00
|
|
|
coverageReporter: {
|
|
|
|
dir: './coverage',
|
|
|
|
reporters: [
|
|
|
|
{ type: 'lcov', subdir: '.' },
|
|
|
|
{ type: 'text-summary' }
|
|
|
|
]
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|