blob: b3ce74f53d62a60a97bd6d055ab0e3f0b8b3a61f [file] [log] [blame]
Matteo Scandolofb46ae62017-08-08 09:10:50 -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
Matteo Scandolod819c922016-12-02 14:06:14 -080019const conf = require('./gulp.conf');
Matteo Scandoloa4a47112016-12-16 10:06:13 -080020const pkg = require('../package.json');
Matteo Scandolod819c922016-12-02 14:06:14 -080021
22module.exports = function (config) {
23 const configuration = {
24 basePath: '../',
25 singleRun: false,
26 autoWatch: true,
27 logLevel: 'INFO',
Matteo Scandolod819c922016-12-02 14:06:14 -080028 browsers: [
Matteo Scandoloa4a47112016-12-16 10:06:13 -080029 'PhantomJS',
Matteo Scandolo5d962a32017-08-01 18:16:14 -070030 // 'Chrome'
Matteo Scandolod819c922016-12-02 14:06:14 -080031 ],
Matteo Scandolo5d962a32017-08-01 18:16:14 -070032 browserConsoleLogOptions: {
33 level: 'log'
34 },
Matteo Scandolod819c922016-12-02 14:06:14 -080035 frameworks: [
Matteo Scandolof6acdbe2016-12-13 10:29:37 -080036 'jasmine',
37 'es6-shim'
Matteo Scandolod819c922016-12-02 14:06:14 -080038 ],
39 files: [
40 'node_modules/es6-shim/es6-shim.js',
Matteo Scandolof6acdbe2016-12-13 10:29:37 -080041 conf.path.src('index.spec.js'),
42 conf.path.src('**/*.html')
Matteo Scandolod819c922016-12-02 14:06:14 -080043 ],
44 preprocessors: {
45 [conf.path.src('index.spec.js')]: [
46 'webpack'
Matteo Scandolof6acdbe2016-12-13 10:29:37 -080047 ],
48 [conf.path.src('**/*.html')]: [
49 'ng-html2js'
Matteo Scandolod819c922016-12-02 14:06:14 -080050 ]
51 },
Matteo Scandolof6acdbe2016-12-13 10:29:37 -080052 ngHtml2JsPreprocessor: {
53 stripPrefix: `${conf.paths.src}/`
54 },
Matteo Scandolo40f8fa92016-12-07 09:21:35 -080055 reporters: ['mocha', 'coverage'],
Matteo Scandolod819c922016-12-02 14:06:14 -080056 coverageReporter: {
57 type: 'html',
58 dir: 'coverage/'
59 },
60 webpack: require('./webpack-test.conf'),
61 webpackMiddleware: {
62 noInfo: true
63 },
64 plugins: [
65 require('karma-jasmine'),
66 require('karma-junit-reporter'),
67 require('karma-coverage'),
Matteo Scandolo40f8fa92016-12-07 09:21:35 -080068 require('karma-phantomjs-launcher'),
Matteo Scandoloa4a47112016-12-16 10:06:13 -080069 require('karma-chrome-launcher'),
Matteo Scandolof6acdbe2016-12-13 10:29:37 -080070 require('karma-phantomjs-shim'),
71 require('karma-ng-html2js-preprocessor'),
72 require('karma-webpack'),
73 require('karma-es6-shim'),
74 require('karma-mocha-reporter')
Matteo Scandolod819c922016-12-02 14:06:14 -080075 ]
76 };
77
78 config.set(configuration);
79};