text: // 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 webpackConfig = require('./cooking.conf.js');
  var webpack = require('webpack');
  var merge = require('webpack-merge');
  var path = require('path');
  var projectRoot = path.resolve(__dirname, '../');
  
  // no need for app entry and plugin during tests
  delete webpackConfig.entry;
  delete webpackConfig.plugins;
  
  webpackConfig = merge(webpackConfig, {
    devtool: '#inline-source-map',
    vue: {
      loaders: {
        js: 'isparta'
      }
    },
    plugins: [
      new webpack.DefinePlugin({
        'process.env': JSON.stringify('testing')
      })
    ]
  });
  
  // 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')
  });
  
  webpackConfig.module.loaders.some(function (loader, i) {
    if (loader.loader === 'babel') {
      loader.include = path.resolve(projectRoot, 'test');
      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: ['Chrome'/* ,'PhantomJS'*/],
      frameworks: ['mocha', 'sinon-chai'],
      reporters: ['spec', 'coverage'],
      files: ['test/index.js'],
      preprocessors: {
        './test/index.js': ['webpack', 'sourcemap']
      },
      webpack: webpackConfig,
      webpackMiddleware: {
        noInfo: true
      },
      coverageReporter: {
        dir: './coverage',
        reporters: [
          { type: 'lcov', subdir: '.' },
          { type: 'text-summary' }
        ]
      }
    });
  };
  
  