var path = require('path');

var absoluteBasePath = path.resolve(__dirname);

// configures browsers to run test against
// any of [ 'ChromeHeadless', 'Chrome', 'Firefox', 'IE', 'PhantomJS' ]
var browsers =
  (process.env.TEST_BROWSERS || 'PhantomJS')
    .replace(/^\s+|\s+$/, '')
    .split(/\s*,\s*/g)
    .map(function(browser) {
      if (browser === 'ChromeHeadless') {
        process.env.CHROME_BIN = require('puppeteer').executablePath();

        // workaround https://github.com/GoogleChrome/puppeteer/issues/290
        if (process.platform === 'linux') {
          return 'ChromeHeadless_Linux';
        }
      }

      return browser;
    });


module.exports = function(karma) {
  karma.set({

    frameworks: [
      'mocha',
      'sinon-chai'
    ],

    files: [
      'node_modules/promise-polyfill/dist/polyfill.js',
      'test/suite.js'
    ],

    preprocessors: {
      'test/suite.js': [ 'webpack' ]
    },

    reporters: [ 'spec' ],

    browsers: browsers,

    customLaunchers: {
      ChromeHeadless_Linux: {
        base: 'ChromeHeadless',
        flags: [
          '--no-sandbox',
          '--disable-setuid-sandbox'
        ],
        debug: true
      }
    },

    client: {
      mocha: {
        timeout: 10000
      }
    },

    browserNoActivityTimeout: 30000,

    singleRun: true,
    autoWatch: false,

    webpack: {
      mode: 'development',
      module: {
        rules: [
          {
            test: /\.css|\.bpmn$/,
            use: 'raw-loader'
          }
        ]
      },
      resolve: {
        modules: [
          'node_modules',
          absoluteBasePath
        ]
      }
    }
  });
};

@@ -22,16 +22,81 @@
 ath');%0A%0A
+process.env.CHROME_BIN = require('puppeteer').executablePath();%0A%0A
 var abso
@@ -264,18 +264,16 @@
 owsers =
-%0A 
  (proces
@@ -300,423 +300,35 @@
 %7C%7C '
-PhantomJS')%0A    .replace(/%5E%5Cs+%7C%5Cs+$/, '')%0A    .split(/%5Cs*,%5Cs*/g)%0A    .map(function(browser) %7B%0A      if (browser === 'ChromeHeadless') %7B%0A        process.env.CHROME_BIN = require('puppeteer').executablePath();%0A%0A        // workaround https://github.com/GoogleChrome/puppeteer/issues/290%0A        if (process.platform === 'linux') %7B%0A          return 'ChromeHeadless_Linux';%0A        %7D%0A      %7D%0A%0A      return browser;%0A    %7D
+ChromeHeadless').split(/,/g
 );%0A%0A
@@ -627,24 +627,24 @@
  'spec' %5D,%0A%0A
+
     browsers
@@ -660,220 +660,8 @@
 s,%0A%0A
-    customLaunchers: %7B%0A      ChromeHeadless_Linux: %7B%0A        base: 'ChromeHeadless',%0A        flags: %5B%0A          '--no-sandbox',%0A          '--disable-setuid-sandbox'%0A        %5D,%0A        debug: true%0A      %7D%0A    %7D,%0A%0A
     

remove legacy CI hack / test using ChromeHeadless per default