123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- // 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
- var path = require('path')
- var merge = require('webpack-merge')
- var baseConfig = require('../../build/webpack.base.conf')
- var utils = require('../../build/utils')
- var webpack = require('webpack')
- var projectRoot = path.resolve(__dirname, '../../')
- var webpackConfig = merge(baseConfig, {
- // use inline sourcemap for karma-sourcemap-loader
- module: {
- loaders: utils.styleLoaders()
- },
- devtool: '#inline-source-map',
- vue: {
- loaders: {
- js: 'isparta'
- }
- },
- plugins: [
- new webpack.DefinePlugin({
- 'process.env': require('../../config/test.env')
- })
- ]
- })
- // no need for app entry during tests
- delete webpackConfig.entry
- // make sure isparta loader is applied before eslint
- webpackConfig.module.preLoaders = webpackConfig.module.preLoaders || []
- webpackConfig.module.preLoaders.unshift({
- test: /\.js$/,
- loader: 'isparta',
- include: path.resolve(projectRoot, 'src')
- })
- // 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
- }
- })
- 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.
- browsers: ['PhantomJS'],
- frameworks: ['mocha', 'sinon-chai'],
- reporters: ['spec', 'coverage'],
- files: ['./index.js'],
- preprocessors: {
- './index.js': ['webpack', 'sourcemap']
- },
- webpack: webpackConfig,
- webpackMiddleware: {
- noInfo: true
- },
- coverageReporter: {
- dir: './coverage',
- reporters: [
- { type: 'lcov', subdir: '.' },
- { type: 'text-summary' }
- ]
- }
- })
- }
|