forked from circlingthesun/angular-foundation-6
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkarma.conf.js
106 lines (85 loc) · 2.66 KB
/
karma.conf.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
var expand = require('glob-expand');
var util = require('util');
module.exports = function(config) {
config.set({
// base path, that will be used to resolve files and exclude
basePath: '.',
frameworks: ['jspm', 'jasmine'],
preprocessors: {
'src/**/*': ['generic', 'babel'],
// 'src/**/*.js': ['generic', 'babel']
},
'babelPreprocessor': {
options: {
sourceMap: 'inline',
plugins: ["transform-es2015-modules-systemjs"],
presets: ['es2015'],
}
},
// list of files / patterns to load in the browser
files: [
'misc/test-lib/helpers.js',
],
// list of files to exclude
exclude: [
'src/**/demo.js',
],
customLaunchers: {
Chrome_travis_ci: {
base: 'Chrome',
flags: ['--no-sandbox']
}
},
browsers: [
'Chrome', 'Firefox'
],
// test results reporter to use
// possible values: dots || progress
reporters: ['progress'],
// web server port
port: 9876,
// cli runner port
// runnerPort: 9100,
// enable / disable colors in the output (reporters and logs)
colors: true,
// level of logging
// possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
logLevel: config.LOG_INFO,
// enable / disable watching file and executing tests whenever any file changes
// autoWatch: false,
// Continuous Integration mode
// if true, it capture browsers, run tests and exit
singleRun: false,
genericPreprocessor: {
rules: [{
match: "src/**/*.html",
process: function (content, file, done, log) {
var escapeContent = function(content) {
return content.replace(/\\/g, '\\\\').replace(/'/g, '\\\'').replace(/\r?\n/g, '\\n\' +\n \'');
};
var template = 'import angular from "angular";\n' +
'angular.module(\'%s\', []).run([\'$templateCache\', function($templateCache) {\n' +
' $templateCache.put(\'%s\',\n \'%s\');\n' +
'}]);\n';
var filepath = file.originalPath.replace(config.basePath + '/', '')
var cacheId = filepath.replace('src/', 'template/');
var htmlPath = filepath.replace('src/', 'template/');
file.path = file.originalPath + '.js';
file.originalPath = file.path;
try {
done(util.format(template, htmlPath, htmlPath, escapeContent(content)));
} catch (e) {
log.error('%s\n at %s', e.message, file.originalPath);
}
}
}]
},
jspm: {
// Edit this to your needs
serveFiles: ['jspm_packages/**/*.js', 'src/**/*.html', 'src/**/*.js'],
loadFiles: expand(['src/**/*.spec.js', '!src/_*/**']),
config: "config.js",
packages: "jspm_packages/"
}
});
};