|  | @@ -1,4 +1,3 @@
 | 
	
		
			
				|  |  | -const webpackConfig = require('./webpack.config.js');
 | 
	
		
			
				|  |  |  process.env.CHROME_BIN = '/snap/bin/chromium';
 | 
	
		
			
				|  |  |   
 | 
	
		
			
				|  |  |  module.exports = function(config) {
 | 
	
	
		
			
				|  | @@ -9,7 +8,7 @@ module.exports = function(config) {
 | 
	
		
			
				|  |  |      exclude: [],
 | 
	
		
			
				|  |  |      //files/patterns to load in the browser
 | 
	
		
			
				|  |  |      files: [
 | 
	
		
			
				|  |  | -      {pattern: 'tests/*.spec.js',watched:true,served:true,included:true}
 | 
	
		
			
				|  |  | +     'tests/*.spec.js'
 | 
	
		
			
				|  |  |        /*parameters*/
 | 
	
		
			
				|  |  |            //watched: if autoWatch is true all files that have set watched to true will be watched for changes
 | 
	
		
			
				|  |  |            //served: should the files be served by Karma's webserver?
 | 
	
	
		
			
				|  | @@ -21,9 +20,9 @@ module.exports = function(config) {
 | 
	
		
			
				|  |  |      ],
 | 
	
		
			
				|  |  |      
 | 
	
		
			
				|  |  |      //executes the tests whenever one of watched files changes
 | 
	
		
			
				|  |  | -    autoWatch: true,
 | 
	
		
			
				|  |  | +    autoWatch: false,
 | 
	
		
			
				|  |  |      //if true, Karma will run tests and then exit browser
 | 
	
		
			
				|  |  | -    singleRun:false,
 | 
	
		
			
				|  |  | +    singleRun: true,
 | 
	
		
			
				|  |  |      //if true, Karma fails on running empty test-suites
 | 
	
		
			
				|  |  |      failOnEmptyTestSuite:false,
 | 
	
		
			
				|  |  |      //reduce the kind of information passed to the bash
 | 
	
	
		
			
				|  | @@ -34,7 +33,7 @@ module.exports = function(config) {
 | 
	
		
			
				|  |  |      //list of browsers to launch and capture
 | 
	
		
			
				|  |  |      browsers: ['ChromeHeadless'/*,'PhantomJS','Firefox','Edge','ChromeCanary','Opera','IE','Safari'*/],
 | 
	
		
			
				|  |  |      //list of reporters to use
 | 
	
		
			
				|  |  | -    reporters: ['mocha','kjhtml'/*,'dots','progress','spec'*/],
 | 
	
		
			
				|  |  | +    reporters: ['mocha' /*,'kjhtml','dots','progress','spec'*/],
 | 
	
		
			
				|  |  |      
 | 
	
		
			
				|  |  |      //address that the server will listen on, '0.0.0.0' is default
 | 
	
		
			
				|  |  |      listenAddress: '0.0.0.0',
 | 
	
	
		
			
				|  | @@ -47,7 +46,7 @@ module.exports = function(config) {
 | 
	
		
			
				|  |  |      //how long does Karma wait for a browser to reconnect, 2000 is default
 | 
	
		
			
				|  |  |      browserDisconnectTimeout: 5000,
 | 
	
		
			
				|  |  |      //how long will Karma wait for a message from a browser before disconnecting from it, 10000 is default
 | 
	
		
			
				|  |  | -    browserNoActivityTimeout: 10000,
 | 
	
		
			
				|  |  | +    browserNoActivityTimeout: 60000,
 | 
	
		
			
				|  |  |      //timeout for capturing a browser, 60000 is default
 | 
	
		
			
				|  |  |      captureTimeout: 60000,
 | 
	
		
			
				|  |  |   
 | 
	
	
		
			
				|  | @@ -68,22 +67,49 @@ module.exports = function(config) {
 | 
	
		
			
				|  |  |   
 | 
	
		
			
				|  |  |      /*karma-webpack config*/
 | 
	
		
			
				|  |  |      //pass your webpack configuration for karma
 | 
	
		
			
				|  |  | -    webpack: webpackConfig,
 | 
	
		
			
				|  |  | +    webpack: {
 | 
	
		
			
				|  |  | +      node: {
 | 
	
		
			
				|  |  | +        fs: 'empty',
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      module: {
 | 
	
		
			
				|  |  | +        rules: [
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +              test: /\.js$/,
 | 
	
		
			
				|  |  | +              exclude: /(node_modules)/,
 | 
	
		
			
				|  |  | +              use: {
 | 
	
		
			
				|  |  | +                loader: "babel-loader",
 | 
	
		
			
				|  |  | +                options: {
 | 
	
		
			
				|  |  | +                  presets: ["@babel/preset-env"]
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            },
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +              test: /\.g4$/,
 | 
	
		
			
				|  |  | +              exclude: /(node_modules)/,
 | 
	
		
			
				|  |  | +              use: {
 | 
	
		
			
				|  |  | +                loader:'antlr4-webpack-loader'
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        ]
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      preprocessors: {
 | 
	
		
			
				|  |  |        //use webpack to support require() in test-suits .js files
 | 
	
		
			
				|  |  |        //use babel-loader from webpack to compile es2015 features in .js files
 | 
	
		
			
				|  |  |        //add webpack as preprocessor
 | 
	
		
			
				|  |  | -      './tests/*.js': ['webpack']
 | 
	
		
			
				|  |  | +      'tests/*.spec.js': ['webpack']
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      webpackMiddleware: {
 | 
	
		
			
				|  |  |        //turn off webpack bash output when run the tests
 | 
	
		
			
				|  |  |        noInfo: true,
 | 
	
		
			
				|  |  | -      stats: 'errors-only'
 | 
	
		
			
				|  |  | +      stats: {
 | 
	
		
			
				|  |  | +        chunks: false
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |   
 | 
	
		
			
				|  |  |      /*karma-mocha-reporter config*/
 | 
	
		
			
				|  |  |      mochaReporter: {
 | 
	
		
			
				|  |  | -      output: 'noFailures'  //full, autowatch, minimal
 | 
	
		
			
				|  |  | +      output: 'full'  //full, autowatch, minimal
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |  };
 |