blob: 9d880a0a5319e6d24ae3fec273ee79f03f9ab272 [file] [log] [blame]
Matteo Scandolo57483dd2015-11-05 11:58:53 +01001// Karma configuration
2// Generated on Tue Oct 06 2015 09:27:10 GMT+0000 (UTC)
3
4/* eslint indent: [2,2], quotes: [2, "single"]*/
5
Matteo Scandolo5697e452016-05-04 17:22:45 -07006// this is to load a different suite of test while developing
7var testFiles = '*';
8if(process.argv[4]){
9 testFiles = process.argv[4];
10}
11
Matteo Scandolo57483dd2015-11-05 11:58:53 +010012/*eslint-disable*/
13var wiredep = require('wiredep');
14var path = require('path');
15
16var bowerComponents = wiredep({devDependencies: true})[ 'js' ].map(function( file ){
17 return path.relative(process.cwd(), file);
18});
19
Matteo Scandolo061094b2016-03-24 14:07:49 -070020var files = bowerComponents.concat([
Matteo Scandolo9f0e5ae2016-04-20 12:24:52 -070021 'node_modules/babel-polyfill/dist/polyfill.js',
Matteo Scandolocc6954e2016-04-15 12:20:14 -070022 'xosHelpers/src/**/*.module.js',
Matteo Scandolo061094b2016-03-24 14:07:49 -070023 'xosHelpers/src/**/*.js',
Matteo Scandolo5697e452016-05-04 17:22:45 -070024 `xosHelpers/spec/**/${testFiles}.test.js`
Matteo Scandolo061094b2016-03-24 14:07:49 -070025]);
26
Matteo Scandolo57483dd2015-11-05 11:58:53 +010027module.exports = function(config) {
28/*eslint-enable*/
29 config.set({
30
31 // base path that will be used to resolve all patterns (eg. files, exclude)
32 basePath: '',
33
34
35 // frameworks to use
36 // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
37 frameworks: ['jasmine'],
38
39
40 // list of files / patterns to load in the browser
Matteo Scandolo061094b2016-03-24 14:07:49 -070041 files: files,
Matteo Scandolo57483dd2015-11-05 11:58:53 +010042
43
44 // list of files to exclude
45 exclude: [
46 ],
47
48
49 // preprocess matching files before serving them to the browser
50 // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
51 preprocessors: {
Matteo Scandolo9e6c6fc2016-04-14 14:59:09 -070052 'xosHelpers/**/*.js': ['babel'],
Matteo Scandolo57483dd2015-11-05 11:58:53 +010053 },
54
Matteo Scandolo8420f622016-03-24 11:38:50 -070055 babelPreprocessor: {
56 options: {
57 presets: ['es2015'],
Matteo Scandoloa9524672016-04-26 16:34:56 -070058 sourceMap: 'both'
Matteo Scandolo8420f622016-03-24 11:38:50 -070059 },
60 filename: function (file) {
61 return file.originalPath;
62 },
Matteo Scandolo57483dd2015-11-05 11:58:53 +010063 },
64
Matteo Scandolo8420f622016-03-24 11:38:50 -070065 //ngHtml2JsPreprocessor: {
66 // stripPrefix: 'src/', //strip the src path from template url (http://stackoverflow.com/questions/22869668/karma-unexpected-request-when-testing-angular-directive-even-with-ng-html2js)
67 // moduleName: 'templates' // define the template module name
68 //},
69
Matteo Scandolo57483dd2015-11-05 11:58:53 +010070 // test results reporter to use
71 // possible values: 'dots', 'progress'
72 // available reporters: https://npmjs.org/browse/keyword/karma-reporter
73 reporters: ['mocha'],
74
75
76 // web server port
77 port: 9876,
78
79
80 // enable / disable colors in the output (reporters and logs)
81 colors: true,
82
83
84 // level of logging
85 // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
Matteo Scandoloba1d35c2016-04-26 10:10:54 -070086 logLevel: config.LOG_INFO,
Matteo Scandolo57483dd2015-11-05 11:58:53 +010087
88
89 // enable / disable watching file and executing tests whenever any file changes
90 autoWatch: true,
91
92
93 // start these browsers
94 // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
Matteo Scandoloa9524672016-04-26 16:34:56 -070095 browsers: [
96 'PhantomJS',
Matteo Scandolo03d8b8e2016-05-25 17:37:37 -070097 // 'Chrome'
Matteo Scandoloa9524672016-04-26 16:34:56 -070098 ],
Matteo Scandolo57483dd2015-11-05 11:58:53 +010099
100
101 // Continuous Integration mode
102 // if true, Karma captures browsers, runs the tests and exits
103 singleRun: false
104 });
105};