blob: 92a9ef07d6201d43dce8dbd873e581592df3f815 [file] [log] [blame]
Matteo Scandolod2044a42017-08-07 16:08:28 -07001
2/*
3 * Copyright 2017-present Open Networking Foundation
4
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8
9 * http://www.apache.org/licenses/LICENSE-2.0
10
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18
Jeremy Mowery6efeb7a2016-02-25 09:32:00 -070019// Karma configuration
20// Generated on Tue Oct 06 2015 09:27:10 GMT+0000 (UTC)
21
22/* eslint indent: [2,2], quotes: [2, "single"]*/
23
24/*eslint-disable*/
25var wiredep = require('wiredep');
26var path = require('path');
27
28var bowerComponents = wiredep( {devDependencies: true} )[ 'js' ].map(function( file ){
29 return path.relative(process.cwd(), file);
30});
31
Matteo Scandolo195dde92016-07-25 16:43:16 -070032// add Blob polyfill for Phantom.js
33bowerComponents.push('src/vendor/Blob.js/Blob.js');
34
Jeremy Mowery6efeb7a2016-02-25 09:32:00 -070035module.exports = function(config) {
36/*eslint-enable*/
37 config.set({
38
39 // base path that will be used to resolve all patterns (eg. files, exclude)
40 basePath: '',
41
42
43 // frameworks to use
44 // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
45 frameworks: ['jasmine'],
46
47
48 // list of files / patterns to load in the browser
49 files: bowerComponents.concat([
Matteo Scandolo195dde92016-07-25 16:43:16 -070050 './src/vendor/ng-xos-lib/dist/ngXosVendor.min.js',
51 './src/vendor/ng-xos-lib/dist/ngXosHelpers.min.js',
52 'src/js/main.js',
Jeremy Mowery6efeb7a2016-02-25 09:32:00 -070053 'src/js/**/*.js',
54 'spec/**/*.mock.js',
55 'spec/**/*.test.js',
56 'src/**/*.html'
57 ]),
58
59
60 // list of files to exclude
61 exclude: [
62 ],
63
64
65 // preprocess matching files before serving them to the browser
66 // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
67 preprocessors: {
68 'src/js/**/*.js': ['babel'],
69 'spec/**/*.test.js': ['babel'],
Matteo Scandolo195dde92016-07-25 16:43:16 -070070 'spec/**/*.mock.js': ['babel'],
Jeremy Mowery6efeb7a2016-02-25 09:32:00 -070071 'src/**/*.html': ['ng-html2js']
72 },
73
74 ngHtml2JsPreprocessor: {
75 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)
76 moduleName: 'templates' // define the template module name
77 },
78
79 // test results reporter to use
80 // possible values: 'dots', 'progress'
81 // available reporters: https://npmjs.org/browse/keyword/karma-reporter
82 reporters: ['mocha'],
83
84
85 // web server port
86 port: 9876,
87
88
89 // enable / disable colors in the output (reporters and logs)
90 colors: true,
91
92
93 // level of logging
94 // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
95 logLevel: config.LOG_INFO,
96
97
98 // enable / disable watching file and executing tests whenever any file changes
99 autoWatch: true,
100
101
102 // start these browsers
103 // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
104 browsers: ['PhantomJS'],
105
106
107 // Continuous Integration mode
108 // if true, Karma captures browsers, runs the tests and exits
109 singleRun: false
110 });
111};