text: // Karma configuration
  // Generated on Mon Dec 07 2015 08:28:33 GMT-0800 (PST)
  
  module.exports = function (config) {
    var cfg = {
      // base path that will be used to resolve all patterns (eg. files, exclude)
      basePath: '',
  
      // frameworks to use
      // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
      frameworks: ['mocha', 'chai', 'sinon-chai'],
  
      // list of files / patterns to load in the browser
      files: ['test/**/*_test.js'],
  
      // list of files to exclude
      exclude: [],
  
      // preprocess matching files before serving them to the browser
      // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
      preprocessors: {
        'test/**/*.js': ['webpack'],
      },
  
      webpack: {
        module: {
          loaders: [
            {
              test: /\.jsx?$/,
              exclude: /node_modules/,
              loader: 'babel?presets[]=es2015',
            },
            { test: /\.css$/, use: ['style-loader', 'css-loader'] },
            // jquery-ui loads some images
            { test: /\.(jpg|png|gif)$/, use: 'file-loader' },
            // required to load font-awesome
            {
              test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
              use: 'url-loader?limit=10000&mimetype=application/font-woff',
            },
            {
              test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,
              use: 'url-loader?limit=10000&mimetype=application/font-woff',
            },
            {
              test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
              use: 'url-loader?limit=10000&mimetype=application/octet-stream',
            },
            { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, use: 'file-loader' },
            {
              test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
              use: 'url?limit=10000&mimetype=image/svg+xml',
            },
          ],
        },
        externals: {
          'base/js/namespace': 'base/js/namespace',
          'notebook/js/outputarea': 'notebook/js/outputarea',
          'services/kernels/comm': 'services/kernels/comm',
        },
      },
  
      // test results reporter to use
      // possible values: 'dots', 'progress'
      // available reporters: https://npmjs.org/browse/keyword/karma-reporter
      reporters: ['mocha'],
  
      // web server port
      port: 9876,
  
      // enable / disable colors in the output (reporters and logs)
      colors: true,
  
      // level of logging
      // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
      logLevel: config.LOG_DEBUG,
  
      // enable / disable watching file and executing tests whenever any file changes
      autoWatch: false,
  
      // start these browsers
      // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
      browsers: ['Chrome'],
  
      customLaunchers: {
        Chrome_travis_ci: {
          base: 'Chrome',
          flags: ['--no-sandbox'],
        },
      },
  
      // Continuous Integration mode
      // if true, Karma captures browsers, runs the tests and exits
      singleRun: true,
  
      // Capture console output
      client: {
        captureConsole: true,
      },
      browserConsoleLogOptions: {
        level: '',
        format: '%b %T: %m',
        terminal: true,
      },
  
      // Concurrency level
      // how many browser should be started simultanous
      concurrency: Infinity,
    };
  
    if (process.env.TRAVIS) {
      cfg.browsers = ['Chrome_travis_ci'];
    }
  
    config.set(cfg);
  };
  