blob: bc4c9427df7443f54441ba19ecfb03d29e98e3a2 [file] [log] [blame]
Simon Hunt449630f2014-12-09 11:40:00 -08001// Karma configuration
Simon Hunt449630f2014-12-09 11:40:00 -08002
3module.exports = function(config) {
4 config.set({
5
6 // base path that will be used to resolve all patterns (eg. files, exclude)
Simon Hunt5d12dc22015-01-05 16:56:22 -08007 // the path is relative to this (karma.conf.js) file
Simon Hunt449630f2014-12-09 11:40:00 -08008 basePath: '',
9
10
11 // frameworks to use
12 // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
13 frameworks: ['jasmine'],
14
15
16 // list of files / patterns to load in the browser
17 files: [
Simon Huntf3069722014-12-16 18:15:37 -080018 // library code...
Steven Burrows91458672017-08-16 11:53:38 +010019 '../vendor/angular/angular.min.js',
20 '../vendor/angular-mocks/index.js',
21 '../vendor/angular-route/angular-route.min.js',
22 '../vendor/angular-cookies/angular-cookies.min.js',
23 '../vendor/d3/d3.min.js',
24 '../vendor/topojson/topojson.js',
25 '../vendor/Chart.js/dist/Chart.min.js',
26 '../vendor/angular-chart.js/dist/angular-chart.min.js',
27 '../vendor/lodash/index.js',
Simon Huntf3069722014-12-16 18:15:37 -080028
29 // production code...
Simon Huntdc6362a2014-12-18 19:55:23 -080030 // make sure modules are defined first...
Simon Hunt7c7dd3e2015-02-27 11:42:18 -080031 '../onos.js',
Simon Hunt737c89f2015-01-28 12:23:19 -080032
Simon Huntdc6362a2014-12-18 19:55:23 -080033 '../app/fw/util/util.js',
Simon Hunt7ac7be92015-01-06 10:47:56 -080034 '../app/fw/svg/svg.js',
Simon Hunte6720442015-01-15 12:21:06 -080035 '../app/fw/remote/remote.js',
Bri Prebilic Cole093739a2015-01-23 10:22:50 -080036 '../app/fw/widget/widget.js',
Simon Hunt988934e2015-01-23 11:49:24 -080037 '../app/fw/layer/layer.js',
Simon Hunt737c89f2015-01-28 12:23:19 -080038
39 '../app/view/topo/topo.js',
40
Simon Huntdc6362a2014-12-18 19:55:23 -080041 // now load services etc. that augment the modules
42 '../app/**/*.js',
Simon Huntf3069722014-12-16 18:15:37 -080043
44 // unit test code...
Simon Huntdc6362a2014-12-18 19:55:23 -080045 'app/*-spec.js',
Matteo Scandolo231c7542016-05-20 11:13:11 -070046 'app/**/*-spec.js',
47
48 // server mock
49 './server.mock.js'
Simon Hunt449630f2014-12-09 11:40:00 -080050 ],
51
52
53 // list of files to exclude
54 exclude: [
Steven Burrows72a354f2016-10-10 15:57:39 -050055 '../app/view/topo2/node_modules/**/*'
Simon Hunt449630f2014-12-09 11:40:00 -080056 ],
57
58
59 // preprocess matching files before serving them to the browser
60 // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
61 preprocessors: {
Steven Burrowsdb3be6f2017-07-11 22:44:31 +010062 '../app/**/*.js': 'coverage'
Simon Hunt449630f2014-12-09 11:40:00 -080063 },
64
65
66 // test results reporter to use
67 // possible values: 'dots', 'progress'
68 // available reporters: https://npmjs.org/browse/keyword/karma-reporter
Steven Burrowsdb3be6f2017-07-11 22:44:31 +010069 reporters: ['mocha', 'coverage'],
70 coverageReport: {
71 type: 'html',
72 dir : 'coverage/'
73 },
Simon Hunt449630f2014-12-09 11:40:00 -080074
75 // web server port
76 port: 9876,
77
78
79 // enable / disable colors in the output (reporters and logs)
80 colors: true,
81
82
83 // level of logging
84 // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
85 logLevel: config.LOG_INFO,
86
87
88 // enable / disable watching file and executing tests whenever any file changes
89 autoWatch: true,
90
91
92 // start these browsers
93 // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
Matteo Scandolo6602db82016-04-19 18:12:45 -070094 browsers: ['PhantomJS'],
Simon Hunt449630f2014-12-09 11:40:00 -080095
96
97 // Continuous Integration mode
98 // if true, Karma captures browsers, runs the tests and exits
99 singleRun: false
100 });
101};